Проблема C# MySqlParameter

(интервал) faultsGroup 0 или 1, но я всегда получаю эту ошибку: Столбец 'FaultGroup' не может быть пустым

Кто-либо говорит мне почему? Синтаксис смотрит хорошо.

MySqlCommand cmdAdd = new MySqlCommand("INSERT INTO Faults (" +
        "  FaultGroup, Text, Date, IP" +
        ") VALUES (" +
        "  @FaultGroup, @Text, @Date, @IP" +
        ")", conn);

MySqlParameter paramFaultGroup = new MySqlParameter("@FaultGroup", MySqlDbType.Int32);
FaultsGroup faultsGroup = (FaultsGroup) Enum.Parse(typeof (FaultsGroup), myFault.FaultGroup);
paramFaultGroup.Value = (int) faultsGroup;
cmdAdd.Parameters.Add(paramFaultGroup);

cmdAdd.ExecuteNonQuery();
5
задан Stecya 18 May 2011 в 08:20
поделиться

1 ответ

Я не использовал MySql около 6 месяцев (к счастью, перешел на Sql Server), но попробуйте заменить символы @ на символы ?, поскольку, если мне не изменяет память, это правильное соглашение в MySql, так:

MySqlCommand cmdAdd = new MySqlCommand(
       "INSERT INTO Faults (FaultGroup, Text, Date, IP)"
       + " VALUES (?FaultGroup, ?Text, ?Date, ?IP)",
       conn);

MySqlParameter paramFaultGroup = new MySqlParameter("?FaultGroup", MySqlDbType.Int32);
FaultsGroup faultsGroup = (FaultsGroup) Enum.Parse(typeof (FaultsGroup), myFault.FaultGroup);
paramFaultGroup.Value = (int) faultsGroup;
cmdAdd.Parameters.Add(paramFaultGroup);

cmdAdd.ExecuteNonQuery();
4
ответ дан 15 December 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: