1.SqlCommand cmd = new SqlCommand(sql, connection);
注释:定义一个数据库命令对象,参数为:sql为string类型,是一个数据库查询语句。
例如string sql = "update EMPLOYESS set STATE=@STATE where ID=@ID";这里的@STATE和@ID表示这两个是参数。
connection是SqlConnection类型。
2.cmd.CommandType = CommandType.Text;
注释:设置cmd的执行类型为使用sql语句执行。
3.cmd.Parameters.Add(p);
注释:参数p为SqlParameter类型。
由于cmd中的sql语句有两个参数:STATE=@STATE 和ID=@ID,所以要在cmd.Parameters中依照顺序添加入这两个参数的值。
3.1 SqlParameter类型详解
注释:param = new SqlParameter(ParamName, DbType, Size);param = new SqlParameter(ParamName, DbType);
如上所示有两种创建对象方式:
第一种带Size的表示DbType为char类型,需要告诉字节数。第二种DbType是int或其他固定字节数类型。
其中ParamName是string类型,在这里为“@STATE”。
接着要设定param的值: param.Value = Value;
这样就构建好了一个param。在第3步中加入cmd.Parameters.Add(param);则会赋值给cmd中sql语句的STATE参数值。
所以还需要构建一个param来设定cmd中ID的值,在此略过。
4.使用SqlDataAdapter填充一个表
注释:<1>SqlDataAdapter sda = new SqlDataAdapter(sql, sqlConn);
其中sql参数为一个查询语句,例如:"select ID,STATE from EMPLOYESS"。
参数sqlConn是SqlConnection类型。
<2> DataTable da = new DataTable();
sda.Fill(da);
sda.Fill(da);
这样就用查询到的表填充了数据表da
读取数据库的方法
1.SqlConnection dataCommand = new SqlConnection(sql, connection);
注释:例如:sql="SELECT OrderID, OrderDate, " +
"ShippedDate, ShipName, ShipAddress, ShipCity, " +
"ShipCountry "+
"ShippedDate, ShipName, ShipAddress, ShipCity, " +
"ShipCountry "+
"FROM Orders WHERE CustomerID='" +
customerId +
"'";
2.SqlDataReader dataReader = dataCommand.ExecuteReader();
注释:执行数据库中sql语句,返回一个表的读取器dataReader;
3.dataReader.Read();
注释:从表中读出一行,若该行为空则返回false。
4.int orderID = dataReader.GetInt32(0);
DataTime orderData = dataReader.GetDataTime(1);
注释:接3,从读出的这一行中取出第1个属性,编号为0(编号是从0~n-1),类型为int,如1所示sql的第一个属性是OrderID。
读出第2个属性,编号为1,类型为DataTime.
5.dataReader.Close();
注释:关闭读取器。