[ADO.NET] 命令对象 (Command)
作者:互联网
[ADO.NET] 命令对象 (Command)
若要执行某个动作查询,可先建立Command对象,并将他的Connection属性设定为状态已经Open(或指定后再使用Open方法)
有三种方法可以执行Command命令的查询:1. ExecuteNonQuery() 2. ExecuteReader() 3. ExecuteScalar() ...
若要执行某个动作查询,可先建立Command对象,并将他的Connection属性设定为状态已经Open(或指定后再使用Open方法)
有三种方法可以执行Command命令的查询:
1. ExecuteNonQuery:用来执行不返回结果集的命令,他会返回一个整数值,整数值即代表受到这个命令所执行的列数。一般Insert、Delete、Update都是使用这个命令查询方法。
2. ExecuteReader:用来产生DataReader对象。除了这个方式之外,没有其他方法可以获得DataReader对象喔!
3. ExecuteScalar:用来返回结果集里面的第一笔的数据,忽略其他行列。适合用在返回聚合值或只会撷取单一数据的时候。取得数据后再转为合宜的数据型态即可。
一. ExecuteNonQuery:
删除Defect数据库中的DefectReport数据表中SN字段的值为123的数据列。
1: OleDbConnection^ conn=gcnew OleDbConnection();
2: conn->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:defect.mdb";
3:
4: conn->Open();
5: OleDbCommand^ cmd=conn->CreateCommand();
6:
7: cmd->CommandText="DELETE FROM DEFECTREPORT WHERE [SN]=123";
8: cmd->ExecuteNonQuery();
9:
10: conn->Close();
二. ExecuteReader:
1: // conn的定义同上个Code Snippet
2: conn->Open();
3:
4: OleDbCommand^ cmd=conn->CreateCommand();
5: cmd->CommandText="SELECT * FROM DEFECTREPORT";
6:
7: //设定选取DefectReport中所有的数据
8: OleDbDataReader^ reader=cmd->ExecuteReader();
9:
10: while(reader->read())
11: {
12: //do something
13: }
14: //若未关闭时,再想开启另个DataReader对象会导致错误
15: reader->Close();
16: conn->Close();
三. ExecuteScalar:
返回聚合值:
1: // conn定义同上
2: conn->Open();
3: OleDbCommand^ cmd=conn->CreateCommand();
4: cmd->CommandText="SELECT COUNT(*) FROM DEFECTREPORT";
5:
6: int count=0;
7: // count会得到DefectReport数据表的数据列数量
8: count=cmd->ExecuteScalar();
9: conn->Close();
以上。
就可以依照想取得的需求,决定要用哪个查询方法啰!
没试过,别说你不行!该努力就去努力,别过了再说后悔。
〈请多指教,新手上路〉
原文:大专栏 [ADO.NET] 命令对象 (Command)
标签:ExecuteNonQuery,cmd,命令,Command,ADO,NET,Open,conn 来源: https://www.cnblogs.com/petewell/p/11489687.html