News
,并且我们要操作的数据表名为Users
。表的结构设计如下图所示:
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
在用C#操作SQL Server数据库时,必须在.cs文件头部加入以上命名空间。
//配置连接信息:
string Conf = "Data Source = .; Initial Catalog = News; Integrated Security = SSPI";
//创建SQL连接对象:
SqlConnection SqlCon = new SqlConnection(Conf);
该段代码写在需要创建数据库对象的地方。其中Data Source
为数据库服务器来源,本地服务器可用小数点表示;Initial Catalog
为欲连接的数据库名称;Integrated Security
为身份验证方式,如果是“SQL Server身份验证”则需要提供用户名和密码,如果是“Windows身份验证”则填写“SSPI”。
//打开数据库:
SqlCon.Open();
//关闭数据库:
SqlCon.Close();
每次进行数据库操作时,都必须先打开数据库,操作结束后,都必须关闭数据库,否则程序会运行出错。这里的SqlCon为上面创建的SQL数据库连接对象。
//创建数据库操作对象
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
//执行SQL语句
SqlCmd.ExecuteNonQuery();
其中SqlStr为SQL语句字符串变量,SqlCon为前面创建的SQL连接对象。
向Users
表中插入一条用户数据:
//打开数据库:
SqlCon.Open();
//获取表单控件信息:
string name = Username.Text.Trim();
string pwd = Password.Text;
string sex = Male.Checked ? "1" : "0";
string date = Convert.ToDateTime(Birthday.Text).ToString("yyyy-MM-dd");
string tel = Phone.Text.Trim();
//编写SQL插入语句:
string SqlStr = "INSERT INTO Users(Username, Password, Sex, Birthday, Phone) ";
SqlStr += "VALUES('" + name + "', '" + pwd + "', " + sex + ", '" + date + "', '" + tel + "')";
//执行数据库操作:
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
SqlCmd.ExecuteNonQuery();
//关闭数据库:
SqlCon.Close();
注意: 1、SqlCon为上面创建的SQL连接对象; 2、Username.Text、Password.Text、Birthday.Text、Phone.Text为文本输入框控件的值,Male.Checked为男生性别选中状态; 3、在编写SQL语句时,特别要注意单引号与双引号,注意空格,注意括号,如果网站报错的话,很可能是SQL语句编写错误了,这时可将SqlStr打印出来检查; 4、数据表中“UserID”列名为主键,插入数据时会自增1,所以不需要设置值。
将数据库表Users
中“UserID = 3”这条数据删除掉:
//打开数据库:
SqlCon.Open();
//编写数据库语句:
string SqlStr = "DELETE FROM Users WHERE UserID = 3";
//执行数据库操作:
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
SqlCmd.ExecuteNonQuery();
//关闭数据库:
SqlCon.Close();
注意:SqlCon为前面创建的SQL数据库连接对象。
查询数据库表Users
中“UserID = 4”这条数据库的“Username”的值:
//打开数据库
SqlCon.Open();
//编写SQL语句:
string SqlStr = "SELECT * FROM Users WHERE UserID = 4";
//创建数据库操作对象:
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
//创建数据库数据读取对象,并绑定查询到的数据:
SqlDataReader SqlData = SqlCmd.ExecuteReader();
//判断是否查询到有数据:
if(!SqlData.Read())
Response.Write("查询无结果!");
else
{
//获取查询到的内容:
string name = SqlData["Username"].ToString();
Response.Write("查询到的用户名是:" + name);
}
//关闭数据库:
SqlCon.Close();
注意:SqlCon为上面创建的数据库连接对象。
修改数据表Users
中“UserID = 12”这条数据的“Birthday”和“Phone”:
//打开数据库
SqlCon.Open();
//获取表单控件信息:
string date = Convert.ToDateTime(Birthday.Text).ToString("yyyy-MM-dd");
string tel = Phone.Text.Trim();
//编写SQL语句:
string SqlStr = "UPDATE Users SET Birthday = '" + date + "', Phone = '" + tel + "' WHERE UserID = 12";
//执行数据库操作
SqlCommand SqlCmd = new SqlCommand(SqlStr, SqlCon);
SqlCmd.ExecuteNonQuery();
//关闭数据库:
SqlCon.Close();
注意: 1、SqlCon为上面创建的SQl数据库连接对象; 2、编写SQL语句时特别要注意单引号与双引号,注意逗号,注意空格,如果网站报错的话,很可能是SQL语句编写错误了,这时可将SqlStr打印出来检查。