当前位置:编程学习 > C#/ASP.NET >>

ado.net sql 参数

想问一下在查询更新数据库时,sql语句中用参数和不用有什么区别?如何使用参数更新数据库?
如select * from student where sno='" & me.txtid.text.tostring & "'与用参数有区别吗? --------------------编程问答-------------------- 我只知道用参数可以解觉 单引号的问题

下面是用参数的方法:

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
....
--------------------编程问答-------------------- OleDbConn 是数据连接  SqlConnection类
复代码的时候忘了改 --------------------编程问答-------------------- 使用参数的好处:
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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,