例如
SqlParameter para = new SqlParameter("@sName", SqlDbType.NVarChar, 20); para.Value = txtName.Text; cmd.Parameters.Add(para);
SqlCommamd中的Parameters的Add方法有什么用处??
请教一下 谢谢
SqlParameter para = new SqlParameter("@sName", SqlDbType.NVarChar, 20); para.Value = txtName.Text; cmd.Parameters.Add(para);
SqlCommamd中的Parameters的Add方法有什么用处??
请教一下 谢谢
解决方案 »
- 最近用vs2008开发excel 2003 vsto,在部署过程中遇到了问题,开发的组件加载不上。
- C# 索引超出范围
- Crystal Report 长条图 Y轴刻度
- 小白问题,用input和select仿ComboBox功能,获取不到input中输入的值
- 我想用一个变量来得到一个xml文件的全部内容,这样怎么办呢?
- streamReader 、SreamWriter 只能用于文本文件的读写吗?RichTextBox 对象,只能操作 *.rtf 格式的文件吗?
- 有一个关于语法的问题
- 求教一个文件流的问题
- 我将图片名称存到了数据库中,但是怎么都读不出来,求帮忙
- 关于treeview的错误
- 求解DataTable.Compute Count
- C# 如何读取一个JPG中的多个ICO进入ImageList?
(1)防止SQL注入式攻击。
(2)增加代码可读性。
就是你在查询时要用到的参数
cmd.Parameters.Add(para);就是添加参数
而且便于参数的传递,关于注入式:
string strcom = "select * from Table1 where 用户名='" + Username.Text + "' and 密码='" + Password.Text + "'";
字符串拼接问题
如果输入密码为 1' or '1'='1这样的,程序判断时就会变成 密码='1' or '1'='1' 如此,结果就变成了True,就能登入这就是注入式攻击,使用sqlparameter可以很好的解决这个问题,但也有一定的局限性,比如表名使用参数的话会被认为是表变量,但表名不会被攻击,可以不用sql参数
SqlCommamd中的Parameters的Add方法有什么用处??=====>添加你声明的参数到sqlcommand中要不然你光声明了。。不用它声明它又有何用。。
sql参数化是个好的习惯防止sql注入