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 + "'" 在进入此部件之前检查用户名,并且确定在数据库中. 解决方法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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |