黑马程序员技术交流社区
标题:
C#之SQL
[打印本页]
作者:
面朝大海,春暖
时间:
2013-10-17 12:07
标题:
C#之SQL
本帖最后由 面朝大海,春暖 于 2013-10-17 16:24 编辑
SqlConnection con = new SqlConnection(str)
SqlCommand cmd =new SqlCommand(sql,con)
上述代码与下面的代码:
SqlConnection con = new SqlConnection(str)
SqlCommand cmd =con.createcommand()
cmd.CommandText=sql;
用法上有什么区别??
作者:
ˋ初°见
时间:
2013-10-17 12:44
本帖最后由 ˋ初°见 于 2013-10-17 12:48 编辑
SqlConnection con = new SqlConnection(str)
SqlCommand cmd =new SqlCommand(sql,con)
先创建一个连接对象con,在创建一个命令对象cmd并且在创建对象时,就把要执行的sql语句和连接对象赋值给cmd对象
上述代码与下面的代码:
SqlConnection con = new SqlConnection(str)
SqlCommand cmd =con.createcommand()
cmd.CommandText=sql;
用法上有什么区别??
先创建一个连接对象con,通过con对象的createcommand方法创建出一个命令对象cmd,并且它的Connection属性为con,然后再把sql语句赋值给cmd对象的CommandText属性
二种方法没啥区别,都是创建出一个Command命令对象,它的Connection属性为con,CommanText属性为sql,先赋值后赋值而已。最方便的是使用这种方法:自动释放和关闭对象省掉了Dispose和Close
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(cmdText, conn))
{
.............
}
}
作者:
Liu阳
时间:
2013-10-17 16:17
你用反编译看看CreateCommand的源码
public SqlCommand CreateCommand()
{
return new SqlCommand(null, this);string cmdText,SqlConnection sqlConnection
}
没有区别
作者:
aihuahuaxx
时间:
2013-10-17 19:13
没有区别的。
一个是创建的时候当做参数。
一个创建之后设置参数。
基本没什么区别的,如果想看看两个方法里面的东西就用反射看看。
作者:
喜之郎果冻
时间:
2013-10-17 21:36
没有什么区别,一个是创建的时候当做参数,一个创建之后设置参数。仅此而已,实际上都是一样的,换了种写法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2