我试图在vb.net中将数据插入到我之前创建的sqlite数据库中:
Using objConn As New SQLiteConnection(/my path to file is here/)
Using objCommand As SQLiteCommand = objConn.CreateCommand()
objConn.Open()
objCommand.CommandText = "INSERT INTO users (username , password ) VALUES ( " + usernamevar + ", " + passwordvar + " )"
objCommand.ExecuteNonQuery()
MessageBox.Show("User created successfully")
End Using
End Using
Usernamevar和passwordvar是我传递给上面的子的值 .
但是,我收到一条错误消息:
System.Data.SQLite.SQLiteException:'SQLite错误没有这样的列:aa'
“aa”是在变量Usernamevar下传递的字符串 .
我意识到我必须在插入短语中的某处出现语法错误,因为我可以成功地将字符串或数字插入数据库,但是我想插入变量 . 有谁知道如何修理它?谢谢 .
1 回答
您可以在2个字符串变量周围添加单引号,或者您可以学习使用参数来保存您的数据并保护数据库 .
更简单,更好的方式
我无法相信我提供并回答
.AddWithValue
但我似乎找不到可以将数据类型添加到方法的替代方案 . 我想SQLite中广泛的类型实现使它有点无关紧要 .EDIT 已更改为允许我提供数据类型的.Add方法 . 感谢@ WelcomeOverflow给我指路 .