com*_*nce 2 sql database vb.net sql-server asp.net
你好.第一个代码片段将文本框值插入数据库,它运行良好:
Public Sub InsertintoTable(ByVal username As String, ByVal password As String)
Dim adp As New SqlCommand("INSERT INTO [users_tbl] (usr_username,usr_password) values ('" & username & "','" & password & "')", con)
adp.ExecuteNonQuery()
End Sub
Run Code Online (Sandbox Code Playgroud)
相反,我想使用AddWithValue,所以我试试这个:
Public Sub InsertintoTable(ByVal username As String, ByVal password As String)
Using adp As New SqlCommand("INSERT INTO [users_tbl] (usr_username, usr_password) values (@username, @password)", con)
adp.Parameters.AddWithValue("@usr_username", username)
adp.Parameters.AddWithValue("@usr_password", password)
adp.ExecuteNonQuery()
End Using
End Sub
Run Code Online (Sandbox Code Playgroud)
但不幸的是它抛出一个错误:
Exception Details: System.Data.SqlClient.SqlException: Must declare the scalar variable "@username".
Run Code Online (Sandbox Code Playgroud)
为什么错误?我的AddWithValue片段可能错了吗?
谢谢.
参数名称不同,这有效:
adp.Parameters.AddWithValue("@username", username)
adp.Parameters.AddWithValue("@password", password)
Run Code Online (Sandbox Code Playgroud)
或者更改sql
INSERT INTO [users_tbl] (usr_username, usr_password) values (@username, @password)
Run Code Online (Sandbox Code Playgroud)
至
INSERT INTO [users_tbl] (usr_username, usr_password) values (@usr_username, @usr_password)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1571 次 |
| 最近记录: |