到 MySQL 的 ODBC 连接不会添加值 [英] ODBC connection to MySQL won't add values
问题描述
我正在尝试将我的 asp.net 应用程序中的值插入到我的 MySQL 数据库中.
I'm trying to insert values from my asp.net application into my MySQL database.
在注册页面上,人们可以填写Name
和Pass
,然后按提交.
On the register page people can fill in Name
and Pass
and press submit.
Public Function InsertMember(ByVal objMember As Member) As Boolean
myconn.Open()
Dim cmd As New OdbcCommand("INSERT INTO member(Name, Pass) VALUES (@Name,@Pass)", myconn)
cmd.CommandType = CommandType.Text
cmd.Parameters.Add("Name", OdbcType.VarChar).Value = objMember.Name
cmd.Parameters.Add("Pass", OdbcType.VarChar).Value = objMember.Pass
cmd.ExecuteNonQuery()
cmd.Dispose()
cmd = Nothing
myconn.Close()
myconn.Dispose()
Return True
End Function
但这只是将 NULL 值添加到我的数据库中.
But all this does is add NULL values into my database.
任何关于我做错了什么的线索?
Any clues on what I'm doing wrong?
推荐答案
如何切换约定使用?
和与列名匹配的参数名?也许考虑切换到 AddWithValue()
如果可以的话.
How about switching convention to use ?
and parameter names matching the column names?
Perhaps consider switching to AddWithValue()
if you can.
来自 MSDN OdbcParameterCollection.Add
方法
From the MSDN OdbcParameterCollection.Add
Method
Dim insertSQL As String = "INSERT INTO member(Name, Pass) VALUES (?,?)"
Dim cmd As New OdbcCommand(insertSQL, myconn)
'cmd.Parameters.Add("Name", OdbcType.VarChar).Value = objMember.Name '
cmd.Parameters.AddWithValue("Name", objMember.Name)
cmd.Parameters.AddWithValue("Pass", objMember.Pass)
'Note that with ODBC Command, the ORDER you add to the parameters collection
'matters most. The names of your params don't matter.
我怀疑 ?
占位符将按顺序填充值,因为它们被添加到参数集合(来自 另一个问题/答案).
I suspect the ?
placeholders will be filled with the values in order as they're added to the Parameters collection (from another question/answer).
这篇关于到 MySQL 的 ODBC 连接不会添加值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!