C# Command对象

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

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

代码:

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

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

代码:

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

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

代码:

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

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

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

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

代码:

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

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

代码:

string strSql = "select * from user_info where username=@username";
cmd.Parameters.Add(new SqlParameter("@username", username));  //添加一个参数
			
//添加参数列表
string strSql = "select * from user_info where username=@username and pwd=@pwd";
SqlParameter[] param=new {new SqlParameter("@username", username),new SqlParameter("@pwd", pwd)}
cmd.Parameters.AddRange(param);
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值