(интервал) 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();
Я не использовал 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();