c#--mysql中的读取数据的⼏个⽅法
1)ExecuteNonQuery():执⾏命令对象的SQL语句,返回⼀个int类型变量,如果SQL语句是对数据库的记录进⾏操作(如记录的增加、删除和更新),那么⽅法将返回操作所影响的记录条数。mysql怎么读英语
下⾯为详细的解释运⽤:
命令对象的ExecuteNonQuery()⽅法⽤于执⾏任何不从数据库返回结果集的SQL操作命令,包括INSERT INTO、UPDATE、DELETE语句、没有返回数值的存储过程、CREATE TABLE和CREATEINDEX之类的DDL语句。ExecuteNonQuery⽅法还可⽤来执⾏⽬录操作,例如查询数据库的结构或创建诸如表等的数据库对象。ExecuteNonQuery⽅法对于UPDATE、INSERT INTO和DELETE这些操作语句,其返回值为该命令所影响的⾏数。对于所有其他类型的语句,返回值为-1。如果发⽣回滚,返回值也为-1。
假设cmd为SQL SERVER数据提供者的命令对象(即SqlCommand),cn为连接对象(保持打开状态),调⽤ExecuteNonQuery⽅法如以下代码所⽰。sql 分页查询
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
//设置cmd的命令⽂本,本例为删除Table1表中id字段值⼤于1的记录
游戏编程入门 pdf
cmd.CommandText = “DELETE FROM Table1 WHERE [id]>1”;
int count = cmd.ExecuteNonQuery();
以上代码中,创建了SqlCommand类型的命令对象cmd,设置其连接为连接对象cn,SQL命令⽂本为某个SQL语句(⼀般为增、删、改命令)。执⾏ExecuteNonQuery⽅法后,命令⽂本即通过连接对象作⽤到数据库中,其返回值count则为数据库中受到影响的数据记录数量。
sql select unique(2)ExecuteScalar():执⾏命令对象的SQL语句,如果SQL语句是SELECT查询,则仅仅返回查询结果集中的第1⾏第1列,⽽忽略其他的⾏和列。该⽅法所返回的结果为object类型,在使⽤之前必须强制转换为所需的类型。如果SQL语句不是SELECT查询,则返回结果没有任何作⽤。
下⾯为详细的⽅法的解释运⽤等:
命令对象的ExecuteScalar()⽅法由于只能返回数据集的第1⾏第1列,所以常被⽤于执⾏聚合函数。假设cmd为SQL SERVER数据提供者的命令对象(即SqlCommand),cn为连接对象(保持打开状态),调⽤ExecuteScalar⽅法如以下代码所⽰。
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
克里姆特作品集
createnewfile 系统不到指定路径//设置cmd的命令⽂本,本例为查询Table1表中记录的数量
cmd.CommandText = “SELECT COUNT(*) FROM Table1”;
int count = (int)cmd.ExecuteScalar();
以上代码中,创建了SqlCommand类型的命令对象cmd,设置其连接为连接对象cn,SQL命令⽂本为某个SQL语句。由于返回值为object类型,所以需要进⾏强制转换,count变量即存储了所需数据表中记录的数量。
(3)ExecuteReader():我们通常在asp中⽤Recordset对象来从数据库中读出数据,并且⽤循环语句来⼀个⼀个的读出数据,但在我们的ADO.NET中,我们就是DataReader 对象的ExecuteReader()⽅法来进⾏数据的列出,并且我们⽤这个ExecuteReader()⽅法来显⽰数据是最快的⼀种⽅法,因为当我们在⽤ExecuteReader()⽅法中的DataReader 对象来进⾏数据的在⽹站建设中显⽰时,他只可以⼀条⼀条向前读,不能返回,也就是像ASP中的ADO⽅法中的Recordset 对象的Movenext⼀样,他没有move -1这样的返回⽅法。
说明:如果没有数据可操作,那么只能使⽤调⽤命令对象的ExecuteReader⽅法,返回⼀个数据读取器(DataReader对象)。因为ExecuteNonQuery()与ExecuteScalar()在没有数据的时候调⽤时,就会
出现“对象没有实例化”的错误。所以在判断是否有数据时,应该调⽤数据读取器的Read()⽅法来检测。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论