黑马程序员技术交流社区
标题:
SQL连接代码
[打印本页]
作者:
丁官林
时间:
2012-4-21 19:02
标题:
SQL连接代码
本帖最后由 丁官林 于 2012-4-22 06:57 编辑
我是ADO.NET初学者,请大侠帮忙解释一下这两段代码的区别和联系
下面这段是书上的写法:
string str=@"Data Source=.\SQLEXPRESS;Initial Catalog=myDb;User ID=sa";
SqlConnection conn = new SqlConnection(str);
conn.Open();
String sql = "insert into userInfo values('admin','12345')";
SqlCommand cmd = new SqlCommand(sql,conn);
cmd.ExecuteNonQuery();
下面这段:视频里的写法
string str=@"Data Source=.\SQLEXPRESS;Initial Catalog=myDb;User ID=sa";
SqlConnection conn = new SqlConnection(str);
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "insert into userInfo values('admin','123456')";
cmd.ExecuteNonQuery();
作者:
王绚文
时间:
2012-4-21 19:27
没有任何区别 实现的功能多是一样的 同样的功能可以有很多种的代码实现
不同的是对系统性能的消耗
就这两种写法 在系统性能消耗上几乎没有任何差别 所以你不必纠结。
实现这个同样的功能 起码还有好几种不同的写法
但是归根结底都是 先创建sqlconnection连接通道 创建sqlcommand命了 然后执行!
还有就是你这两种写法都没有写 conn.Close()语句 或dispose() 是极度不规范的!
作者:
403692154
时间:
2012-4-22 09:35
实现的功能都是一样,对系统的消耗也没什么不同
作者:
杨礼文
时间:
2012-4-22 09:53
1 String sql = "insert into userInfo values('admin','12345')";
SqlCommand cmd = new SqlCommand(sql,conn);
2 SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "insert into userInfo values('admin','123456')";
可否理解为: 1 通过传参数的形式实现SqlCommand 语句 (封装的中用的就是这样的方法)
2 直接明了的把需要执行的SqlCommand 语句写出来
作者:
邓坤
时间:
2012-4-24 21:22
1.在MSSQL中附加数据库,然后在VS中不需要在连接数据库,只需要写第一段代码即可。
2.若是在VS中直接右键单击创建数据库,那么又应该用第二段代码。
3.两种方式在功能和效率上都是一样的。
作者:
非常小可
时间:
2012-4-24 21:45
没有任何区别,都是创建连接。连接到那个数据库
作者:
许庭洲
时间:
2012-4-26 16:49
视频里的写法把CommandText属性设置或返回Command对象的文本。通常该对象为SQL语句,但也可以是提供者识别的任何其他类型的命令语句(如存储的过程调用)。
书上的写法用SqlCommand, SqlCommand包含两个参数,sqlstr和sqlconnection),第一个参数是SQL语句,默认是这样的,第二个是数据库连接对象。
希望以上建议对你有帮助。
作者:
张林春
时间:
2012-4-26 20:46
没有什么区别。
有一点有错。
你没有写 conn.Close()语句 或dispose()来释放资源
你的Conn没有关闭的话。数据库Connection一直是打开关态。
这样是绝对不可以的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2