asp中执行“sql的插入语句”的命令,插入语句已经写好! 10
sap中写了这一个插入语句后cmd.CommandText="insertintojcd(GROUPID,SYSTEM1,DATE1,NUM,TITLE,SUGGEST,...
sap中写了这一个插入语句后cmd.CommandText = "insert into jcd(GROUPID,SYSTEM1,DATE1,NUM,TITLE,SUGGEST,C_SUGGESTION,STA_SUGGESTION,SS_RESULT,SUGGESTION12,SAFE_SUGGESTION,RESULT,TEF_SUGGESTION,HEAD_SUGGESTION,PNSC_DECISION, PNSC_CHAIR,DATE2) values ('" + jizu + "','" + xitong + "','" + riqi1 + "','" + bianhao + "','" + biaoti + "','" + jianyi + "','" + zzyj + "','" + stayj + "','" + jielun1 + "','" + yunxing12 + "','" + aqyj + "','" + jielun2 + "','" + tef + "','" + daxiu + "','" + pnsc + "','" + zhuxi + "','" + riqi2 + "',)";然后写什么命令来执行这个插入语句?
展开
展开全部
cmd.ExecuteNonQuery();
SQL你这么写就不怕出错吗?不怕SQL注入吗?多写一个'你的程序就会报错啦~
建议参数化查询
SQL你这么写就不怕出错吗?不怕SQL注入吗?多写一个'你的程序就会报错啦~
建议参数化查询
追问
这么写有什么问题?这个我真不懂,求大神指教!
追答
拼接SQL容易出错,如果文本框里输入了特殊符号如:'--等,会将内容作为SQL语句的一部分,极易出错,严重的话,可以造成SQL注入攻击例如:判断登录的SQL语句,如果拼接可以写成:
select count(*) from userinfo where username='"+TextBox1.Text+"' and [password]='"+TextBox2.Text"'";
如果我在TextBox1输入: ' or 1=1;-- ,那么不用用户名密码也能登录了,原因是SQL语句执行的是:
select count(*) from userinfo where user name='' or 1=1;
解决此问题的方法是,不要拼SQL,在需要变量的地方使用@参数代替
select count(*) from userinfo where username=@name and [password]=@password
在执行前,将实际值通过SqlParameter对象传递给相应的@参数即可
……
cmd.Parameters.AddWithValue("@username",TextBox1.Text);
cmd.Parameters.AddWithValue("@password",TextBox2.Text);
...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cmd.ExecuteNonQuery()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cmd.ExecuteNoneQuery();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cmd.Execute()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询