C#中MySQL二进制(16)的替代方案

时间:2014-03-01 14:02:41

标签: c# mysql

我有MySQL程序,看起来像

create procedure 'name' (in param_oid binary(16), out param2_oid binary(16)...

当我尝试从c#代码执行它时,它返回异常(System.FormatException)

这就是我执行它的方式

cmd.Parameters.AddWithValue('@param_oid', myvariable);
cmd.Parameters.AddWithValue('@param2_oid', MySqlDbType.Binary);
cmd.Parameters['@param2_oid'].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();

在我看来,MySqlDbType.Binary不是支持二进制(16)的最佳选择。它的替代品是什么?

1 个答案:

答案 0 :(得分:2)

第二个参数调用错误。您调用AddWithValue但不是添加变量作为第二个参数,而是提供数据类型。

您应该使用Add代替。