.NET (C #) MySqlDbType для символа

0

Я работал над вызовом хранимых процедур с С#, и я столкнулся с проблемой, сопоставляющей столбец, объявленный как тип "char" в базе данных mysql, в 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 //

Код С#:

//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;
  • 0
    Я храню свои соли и пароли как двоичные BLOB в MySQL. Не уверен, что ты делаешь.
  • 0
    Привет @TimBiegeleisen, несмотря на то, что делает этот процесс, если вы знаете тип данных c #, который отображается на символ и хотел бы поделиться; это будет высоко ценится. Спасибо.
Показать ещё 1 комментарий
Теги:
database

1 ответ

0

Используйте MySqlDbType.String. В соответствии с комментариями к документации в исходном коде:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню