执行有参数的SQL语句用字符串连起来好,还是用SqlCommand.parameters好?

joki 2003-08-21 02:03:23
如题,哪种比较好?
...全文
116 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
stuhome 2003-08-21
  • 打赏
  • 举报
回复
同意
huweighost(樵子)和 CMIC(大象)
但是如果这些参数都是你自己make的话,用SQL语句用字符串连起来也没有问题.
LevinForum 2003-08-21
  • 打赏
  • 举报
回复
http://www.lostinet.com/files/SqlScope.Rar
CMIC 2003-08-21
  • 打赏
  • 举报
回复
SqlCommand.parameters好,使用SQL语句用字符串连起来好有安全问题和"'"等符号问题。
sqhua 2003-08-21
  • 打赏
  • 举报
回复
>>请教各位高人,SqlCommand.Parameters 有没有简单一点的写法,参数一多写起来真麻烦啊
多用SQLBuilder的功能,根据Select自动生成Insert等Sql
但好象在Access上用不了
joki 2003-08-21
  • 打赏
  • 举报
回复
请教各位高人,SqlCommand.Parameters 有没有简单一点的写法,参数一多写起来真麻烦啊
lingyun_k 2003-08-21
  • 打赏
  • 举报
回复
我一般都用存储过程,用字符串看起来比较费事
cl_03 2003-08-21
  • 打赏
  • 举报
回复
用SqlCommand.parameters

特别是字段为大文本数据类型。
fly_miss 2003-08-21
  • 打赏
  • 举报
回复
在性能方面来说,我个人认为,SqlCommand
比如说,用SqlCommand 中可以不考虑"'",可是在SQL语句串中你必须考虑
huweighost 2003-08-21
  • 打赏
  • 举报
回复
还是用SqlCommand.parameters好,不管是不是存储过程,都可以使用SqlCommand.parameters,至少这样做有助于提高安全性。

如果字符串串起来,如果不对一些串中的变量做校验,是否太危险了一点。
比如常见的:
SELECT * FROM user WHERE userid = ” + userid
如果 userid 最为字符串变量串起来。有人在url中的 userid 后面在加上删除表的sql语句的话,就很危险了。
用参数传入这些变量至少比直接串起来安全一点吧。
joki 2003-08-21
  • 打赏
  • 举报
回复
性能方面呢, 前一个会不会快些啊?少写很多句
yohomonkey 2003-08-21
  • 打赏
  • 举报
回复
对于SQl的语句串,SQl的存储过程有更高的执行效率。
单从程序的编写和可阅读性来讲,用单独定义的parament参数应该更好,而且,存储过程也比较好复用的,而适用sql的语句就要麻烦些。
一家之言。
acewang 2003-08-21
  • 打赏
  • 举报
回复
感觉用字符串连接起来好,至少写起来省事,
当然再懒点就写成存储过程更好
thp 2003-08-21
  • 打赏
  • 举报
回复
连起来好
liuqinyi 2003-08-21
  • 打赏
  • 举报
回复
测试一下页面执行的时间不就知道了。
lwgj 2003-08-21
  • 打赏
  • 举报
回复
连起来不太好阅读,分开后便于代码阅读,至于在性能方面好像都一样把
basil 2003-08-21
  • 打赏
  • 举报
回复
还是用存储过程,比较快!
luckysusan 2003-08-21
  • 打赏
  • 举报
回复
感觉差不多吧,最好用存储过程!
gshope 2003-08-21
  • 打赏
  • 举报
回复
没有什么本质的区别。
seesea125 2003-08-21
  • 打赏
  • 举报
回复
参数小于等于两个,用字符串连起来,除了简单点其它没发现好
大于两个,只有用SqlCommand.parameters了,因为用字符串连,程序已经认为那个不是存储过程了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧