我一直致力于从c#调用存储过程,并遇到了一个问题,即将mysql数据库中声明为“char”类型的列Map到c#中的mysqldbtype(没有mysqldb.char,Map到varchar不起作用)。有没有人能给我提供正确的Map,以便我可以从代码中调用这个存储过程?谢谢您。
mysql进程:
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条答案
按热度按时间ccgok5k51#
使用
MySqlDbType.String
. 根据源代码中的文档注解: