C# Command对象

ゝ一世哀愁。 2022-05-25 09:37 36阅读 0赞

###1、Command对象的Execute方法

####(1)ExecuteNonQuery:返回受影响的行数,它只能执行insert、update、delete的sql语句,执行select会出现特殊情况,报错或者影响其它的代码逻辑而报错。
适用情况:执行insert、update、delete的sql语句的时候。
返回对象:int类型

代码:

  1. SqlCommand cmd=new new SqlCommand(); //创建command对象
  2. cmd.Connection = conn; //设置连接对象
  3. cmd.CommandText = strSql; //设置要查询的sql语句
  4. int n=cmd.cmd.ExecuteNonQuery(); //执行

####(2)ExecuteReader:返回一个DataReader对象,它用于执行select查询语句,提供一种从 数据库读取行的只进流的方式。
适用情况:当想要读取一个表中的记录或是表中具体某一行某一列的值时。
返回对象:DataReader对象(注意,该对象没有构造函数,只能由ExecuteReader创建)

代码:

  1. SqlCommand cmd=new new SqlCommand(); //创建command对象
  2. cmd.Connection = conn; //设置连接对象
  3. cmd.CommandText = strSql; //设置要查询的sql语句
  4. SqlDataReader reader = cmd.ExecuteReader(); //执行
  5. while (reader.Read()) //必须写这个判断,否则会报错。 读取reader中的记录,并自动到下一条。
  6. {
  7. string name = reader["name"]; //将reader对象当前的指向行的“name”列的值读取到字符串name中
  8. }
  9. reader.close(); //DataReader对象必须使用完之后关闭,否则会影响其它数据的操作。

####(3)ExecuteScalar:执行查询,返回结果集中的第一行第一列。
适用情况:当想查询表中是否存在某一条记录时。
返回对象:object类型,因为不确定它的具体类型是什么。

代码:

  1. SqlCommand cmd=new new SqlCommand(); //创建command对象
  2. cmd.Connection = conn; //设置连接对象
  3. cmd.CommandText = strSql; //设置要查询的sql语句
  4. object o=cmd.ExecuteScalar(); //执行查询
  5. if (o!=null)
  6. {
  7. //查询到一条记录
  8. }

###2、Command对象的属性
####(1)Connection:Connection类型,连接对象
代码:

  1. SqlConnection conn= new SqlConnection(strConn); //strConn是连接字符串,创建一个连接对象
  2. cmd.Connection = conn;

####(2)CommandText:string类型,查询语句

代码:

  1. string strSql = "select * from user_info";
  2. cmd.CommandText = strSql;

###(3)Parameters:参数列表,常用的两个方法:Add(Parameter value),AddRange(Parameter[] value)

代码:

  1. string strSql = "select * from user_info where username=@username";
  2. cmd.Parameters.Add(new SqlParameter("@username", username)); //添加一个参数
  3. //添加参数列表
  4. string strSql = "select * from user_info where username=@username and pwd=@pwd";
  5. SqlParameter[] param=new {new SqlParameter("@username", username),new SqlParameter("@pwd", pwd)}
  6. cmd.Parameters.AddRange(param);

发表评论

表情:
评论列表 (有 0 条评论,36人围观)

还没有评论,来说两句吧...

相关阅读