请教用参数方法插入数据和不用参数插入数据的区别?

mycity21 2008-09-18 03:26:36
请问下边两种方法使用起来有什么区别.运行效率,安全等等其他方面的区别?
个人方便比较喜欢使用第二种方法,就是不知第一种方法有什么好处?
第一种方法:
string sql="INSERT INTO Users(User_Name, Password, Name, sex,) VALUES (@User_Name, @Password, @Name, @sex)";
sqlCmd.Parameters.Add("@User_Name", System.Data.SqlDbType.Text);
sqlCmd.Parameters.Add("@Password", System.Data.SqlDbType.Text);
sqlCmd.Parameters.Add("@Name", System.Data.SqlDbType.Text);
sqlCmd.Parameters.Add("@sex", System.Data.SqlDbType.Text);

第二种方法:
string s="INSERT INTO Users(User_Name, Password, Name, sex,) VALUES ('"+User_Name+"', '"+Password+"','" +Name"','"+sex+"')";
...全文
131 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mycity21 2008-09-18
  • 打赏
  • 举报
回复
惨了,原来有个系统的代码全是使用第二种方法做的,看来要马上把它改过来才行.
mycity21 2008-09-18
  • 打赏
  • 举报
回复
答案满意,多谢楼上的朋友!!!
一楼phy出现率好高,是不是努力冲级,刷经验分?

有这样热心的朋友对我们太好了,希望多点热心的朋友.
编程有钱人了 2008-09-18
  • 打赏
  • 举报
回复
第一种方法 执行效率高
xuexiziji 2008-09-18
  • 打赏
  • 举报
回复
主要是为了安全,
如果用户在你的文本框里输入 delete table,第二个方法执行的话,就把你的数据库弄坏了。
后果很严重
sy_binbin 2008-09-18
  • 打赏
  • 举报
回复
第二种容易引起SQL注入
zhong2006 2008-09-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 phy 的回复:]
第一种方法更安全,第二种方法正是引起SQL注入攻击的主要原因。
[/Quote]
假如你要插入的数据中包含“\”、“'”等特殊符号容易出错

renshibubushiren 2008-09-18
  • 打赏
  • 举报
回复
关注
brallow 2008-09-18
  • 打赏
  • 举报
回复
第一种方法更安全,第二种方法正是引起SQL注入攻击的主要原因。

62,046

社区成员

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

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

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

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