SQL插入语句

时间:2014-03-21 12:22:59

标签: sql vb.net insert

strSQL = "INSERT INTO Accounts UserName, Password VALUES ('" & txtUsername.Text & "', '" & txtEncryptedPassword & "');"

执行代码时会抛出错误,但是没有可见的问题我可以看到。救命啊!

4 个答案:

答案 0 :(得分:5)

密码一词保留在MS-Access中 您需要在该名称周围使用方括号(或将其更改为不同的名称)

strSQL = "INSERT INTO Accounts (UserName, [Password]) VALUES (......

说,请使用参数化查询来构建sql命令 像你这样的字符串连接很容易被黑客使用SQL Injection进行攻击 此外,如果用户名或密码包含单引号,则使用字符串连接构建的结果sql文本将无效。

strSQL = "INSERT INTO Accounts (UserName, [Password]) VALUES (?, ?)"
OleDbCommand cmd = new OleDbCommand(strSQL, connection);
cmd.Parameters.AddWithValue("@p1",txtUsername.Text);
cmd.Parameters.AddWithValue("@p2",txtEncryptedPassword);
cmd.ExecuteNonQuery();

答案 1 :(得分:1)

你忘了括号:

strSQL = "INSERT INTO Accounts (UserName, Password) VALUES ('" & txtUsername.Text & "', '" & txtEncryptedPassword & "');"

答案 2 :(得分:0)

您正在做()这个错误,您应该添加:

您的代码:

strSQL = "INSERT INTO Accounts UserName, Password VALUES ('" & txtUsername.Text & "', '" & txtEncryptedPassword & "');"

您必须更改以下代码:

strSQL = "INSERT INTO Accounts (UserName, Password) VALUES ('" & txtUsername.Text & "', '" & txtEncryptedPassword & "');"

UPDATE1:

"INSERT INTO `test`.`users` ( `username`, `password`) " & _
                  "VALUES ('" & txtUsername.Text & "', '" & txtPassword.Text & "');"

UPDATE2:

   "INSERT INTO users ( `username`,`password`)VALUES(@txtUsername.Text,@txtPassword.Text);"

"INSERT INTO users (Username,Password)VALUES(?,?);"

注意:test表示您应该更改数据库名称的数据库名称。

答案 3 :(得分:0)

试试这段代码:

 Dim strSQL As String = "INSERT INTO tblDetail VALUES('" & strPersonCode _
         & "','" & strForename & "','" & strSurname & "','" & strDateOfBirth & "'," & strCurrentlyWith & ",'" & strConditions & "')"

这样做,但改变你的名字。 将文本框的值声明为字符串,然后使用它们。