到 MySQL 的 ODBC 连接不会添加值 [英] ODBC connection to MySQL won't add values

查看:62
本文介绍了到 MySQL 的 ODBC 连接不会添加值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将我的 asp.net 应用程序中的值插入到我的 MySQL 数据库中.

I'm trying to insert values from my asp.net application into my MySQL database.

在注册页面上,人们可以填写NamePass,然后按提交.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆