strsql += "and sno='" + strsno.ToString() + "'";什么意思?
strsql += "and sno=@strsno";什么意思?
strsql += "and sno=@strsno";什么意思?
解决方案 »
- 网页源代码获取的方法。。。【求助!!】
- 还是一个多线程的问题.这次加上TCP!!
- 如何禁止软键盘输入
- 这样的sql语句有错嘛?没错那么这样调用对嘛?
- PB 中datawindowchild有没有办法在其retrieve前得到实际的sql语句
- 如何将搜索到的结果输出到listBox中?
- 新手问题,怎么才能将datagrid中的初始化指定列设置为编辑状态???
- 很久没有散分了,小问题,大散分(函数)
- C#中如何把两个数据库中的两个结构一样的表合并成一个?
- 请教关于注册C#开发的DLL问题
- DataGridView 小问题
- 菜鸟问题~~ 如何在一下代码的基础上 新增操作sql数据库的 显示、修改、删除按钮~
这里边因为带了单引号,说明sno字段是字符型。如果不带引号则是数值型。除此之外这两个表达式一样,但使用的地方不同。如果用在存储过程,或者用在在.net ObjectDatasource(不知道怎么说了)之中,必须传递参数,就要使用第二种方法。
(
@Id int,
@Sales money OUTPUT
)
As
SELECT @Sales = sales
FROM sample
WHERE id = @Id就只能用第二种输入参数的方法。
FROM sample
WHERE id = @Id
什么意思?带@符号什么意思呢?
string sql="select * from 用户表 where 姓名='" + name + "'";
//这样查询没有问题
//但如果
string name="张'三"; //即字符窜中存在单引号
string sql="select * from 用户表 where 姓名='" + name + "'"; 这样的语句在执行时就会报错
//如果你的数据库中保存的不含单引号的,可以通过简单的过滤把单引号过滤掉,但如果有那就必须用参数化查询才能查询得到该条记录。
即:
string sql="select * from 用户表 where 姓名=@name"; 另外,参数化查询除了上面这种情况以外,还有就是防止sql注入,具体如何参数化查询,网上例子非常多
你去找下SQL注入的例子就知道了。
FROM sample
WHERE id = @Id --- @Id是一个参数变量
那么.....姓名='" + name + "'";和........姓名=@name";的区别?
Command1.CommandText = "select sno, sname, sage FROM student WHERE sdept =@sdept"可是书上的例子:
if(combox1.Text == "计算机系")
command2.CommandText = "select sno, sname, sage FROM student WHERE (sdept = '计算机系')";
这个又没有用占位符.....我有点糊涂
如果可以不用占位符是不是又可以写成
string sql ="select sno, sname, sage FROM student WHERE sdept = '+sdept+';