加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Update语句VB.net中的SQL语法错误

发布时间:2020-12-17 07:16:45 所属栏目:百科 来源:网络整理
导读:我在VB中运行时遇到奇怪的语法错误: SQLString = "UPDATE Login SET Password = '" + PasswordTextBox.Text + "'" SQLString += " WHERE UserName = '" + UserNameTextBox.Text + "'" 在进入此部件之前检查用户名,并且确定在数据库中. 它给出了一个例外,说
我在VB中运行时遇到奇怪的语法错误:

SQLString = "UPDATE Login SET Password = '" + PasswordTextBox.Text + "'"
        SQLString += " WHERE UserName = '" + UserNameTextBox.Text + "'"

在进入此部件之前检查用户名,并且确定在数据库中.
它给出了一个例外,说明update语句中存在语法错误.任何人都知道什么是错的?

解决方法

LOGIN是SQL Server中的保留字(用于登录帐户管理),因此为了在查询中使用它(即列名称),您需要使用[]转义它,因此使用[LOGIN]作为字段名称.

您永远不应该使用字符串连接并将其传递给SQL数据库,因为您将自己暴露于SQL Injection攻击.

您应该使用SqlCommand对象并传递参数.有关如何操作,请参阅this article.

SQLString = "UPDATE [Login] SET Password = @password "
SQLString += " WHERE UserName = @userName"

...

dbCommand.Parameters.Add("@password",SqlDbType.VarChar,50)
dbCommand.Parameters["@password"].Value = PasswordTextBox.Text

dbCommand.Parameters.Add("@userName",50)
dbCommand.Parameters["@userName"].Value = UserNameTextBox.Text

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读