ado.net sql 参数
想问一下在查询更新数据库时,sql语句中用参数和不用有什么区别?如何使用参数更新数据库?如select * from student where sno='" & me.txtid.text.tostring & "'与用参数有区别吗? --------------------编程问答-------------------- 我只知道用参数可以解觉 单引号的问题
下面是用参数的方法:
--------------------编程问答-------------------- OleDbConn 是数据连接 SqlConnection类
sql = "select * from student where sno=@Text"
'CaoZuoData(sql)
If OleDbConn.State = ConnectionState.Closed Then OleDbConn.Open()
Dim MyCommand As OleDbCommand = New OleDbCommand
MyCommand.Connection = OleDbConn
MyCommand.CommandText = sql
MyCommand.Parameters.Add("@Text", OleDbType.Char)
MyCommand.Parameters("@Text").Value = me.txtid.text.tostring
....
复代码的时候忘了改 --------------------编程问答-------------------- 使用参数的好处:
1、正如2楼所说的,可以解决单引号问题。
例如:select * from student where sno='" & me.txtid.text.tostring & "'
如果这个时候me.txtid.text.tostring 的值是(' or 1=1 or 1='),那么你拼接的SQL文就会是如下的样子:
select * from student where sno='' or 1=1 or 1='',这个时候你返回的值就是所有值。
2、在调用存储过程的时候需要使用参数,并且可以接受返回值。
以上是我对于执行SQL时使用参数的一个心得体会。有不对的地方还请指正。
--------------------编程问答-------------------- 参数能接受反回值的啊
啊哈哈,太受用了.我以为只能解决单引号的问题呢
补充:.NET技术 , VB.NET