黑马程序员技术交流社区
标题:
SQL的拼SQL语句
[打印本页]
作者:
邢欢
时间:
2012-5-12 10:14
标题:
SQL的拼SQL语句
在C#中可以吧一个SQl语句用几个字符串拼接然后传递执行,在数据库中如何执行呢?不要告诉我用存储过程...
作者:
何祥旺
时间:
2012-5-14 19:31
應該使用 sqlcommand,通過settext指定sql語句,並且不要拼接sql語句,最好用@方式,然後用addparemeter替換,這樣能夠防止一些攻擊,增強安全性,執行的時候也有幾種情況,比如:executenonquery方式返回一個整形,表示改變數據庫的記錄的行數,還有一些其他的查詢,如:executescaler,返回查詢的第一行,一般用來查詢記錄的行數,比如執行select count(*).........
executereader,將返回一個包含所有查詢結果的集合。
作者:
索学超
时间:
2012-5-14 19:45
你的问题是问在C#里面搞定的SQL语句在数据库中是怎么执行的?
既然你说的是SQL语句,自然是以SQL语句的方式执行喽,
要是存储过程的话,在C# 中你调用的将是存储过程的名字,而不是SQL语句
执行的过程怎么说呢,不知道你发现没,sql语句本来就是数据库的一种命令吗,而且格式都那样,
在C#中把命令语句搞定,然后就由.net framework 这个东西帮你把sql命令传递给数据库,然后数据库执行。
执行完了,数据库把结果给.net frame work ,然后它再把结果给你
在c#中用sql命令查询的时候,不知道你有没有注意到每执行结束 都会有一个对应的close()语句呢
这个方法作用就是用来关闭资源的
而为什么要关闭资源呢,那是因为它调用了不属于它的东西,用了,自然得还给人家
也就是C# 是发布了命令,但执行的还是数据库。只不过命令不是直接打开数据库的时候就给它执行,而是由C#语言
先写好,再通过途径传递给它执行的而已
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2