用于char的.NET(C#)MySqlDbType

时间:2018-04-18 01:16:19

标签: c# mysql .net database

我一直在努力从C#调用存储过程,我遇到了一个问题,该问题映射了一个声明为" char"类型的列。在mysql数据库中c#中的mysqldbtype(没有mysqldb.char,并且映射到varchar不起作用)。任何人都可以为我提供正确的映射,以便我可以从我的代码中调用此存储过程吗?谢谢。

MySQL proc:

CREATE PROCEDURE xyz(IN a VARCHAR(8), OUT bCHAR(64))
BEGIN
   SELECT E.b
   INTO b
   FROM Employees E
   WHERE a= E.a;
END //

C#代码:

//get the salt to use with the login hash
            cmd.CommandText = StringLibrary.XYZ; //proc name
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("a", username);
            cmd.Parameters["@a"].Direction = System.Data.ParameterDirection.Input;
            /*TODO ------>*/cmd.Parameters.AddWithValue("b", MySqlDbType.); // <---------TODO find the correct type here
            cmd.Parameters["@b"].Direction = System.Data.ParameterDirection.Output;

1 个答案:

答案 0 :(得分:0)

使用MySqlDbType.String。根据文档评论in the source code

/// <summary>
/// A fixed-length string.
/// </summary>
String = 254,