.Net的MySQL连接器 - 参数

时间:2014-07-02 08:23:12

标签: mysql .net parameters

我有一个数据表,包含两行:id char(9),eh char(4)。这两行都包含数值(我无法更改),例如123456789。

查询 SELECT id,eh FROM tab WHERE id LIKE'123456789' 直接在MySQL-client中运行正常,在VB.net中也是如此。

但是如果我在VB.net中使用参数而不是构建查询字符串,则查询返回空行。这就是我所做的(不是完整的代码):

Dim com As New MySqlCommand
com.CommandText = "SELECT id,eh FROM tab WHERE id LIKE @i"
com.Parameters.Add("@i", MySqlDbType.VarChar)
com.Parameters("@i").Value = number

我认为,连接器不会发送字符串的引号(可能因为只有数字),因为如果我将MySQL客户端中的第一个查询更改为... LIKE 123456789,我也会得到空行

您对我有任何提示或解决方法吗?

1 个答案:

答案 0 :(得分:0)

尝试

MySqlDbType.String

作为参数类型。

注意..我没有使用MySql,但是一个快速的谷歌提出了字符串char。

修改

也许你错过了@i

周围的撇号
com.CommandText = "SELECT id,eh FROM tab WHERE id LIKE '@i'"