C#MySqlParameter问题

前端之家收集整理的这篇文章主要介绍了C#MySqlParameter问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

(int)faultsGroup是0或1但我总是得到这个错误:列’FaultGroup’不能为null

有人告诉我为什么吗?语法看起来不错.

  1. MysqLCommand cmdAdd = new MysqLCommand("INSERT INTO Faults (" +
  2. " FaultGroup,Text,Date,IP" +
  3. ") VALUES (" +
  4. " @FaultGroup,@Text,@Date,@IP" +
  5. ")",conn);
  6. MysqLParameter paramFaultGroup = new MysqLParameter("@FaultGroup",MysqLDbType.Int32);
  7. FaultsGroup faultsGroup = (FaultsGroup) Enum.Parse(typeof (FaultsGroup),myFault.FaultGroup);
  8. paramFaultGroup.Value = (int) faultsGroup;
  9. cmdAdd.Parameters.Add(paramFaultGroup);
  10. cmdAdd.ExecuteNonQuery();
最佳答案
我还没有使用MysqL大约6个月(谢天谢地迁移到sql Server)但是,尝试将@符号更改为?,就像内存服务一样,这是MysqL的正确约定,所以:

  1. MysqLCommand cmdAdd = new MysqLCommand(
  2. "INSERT INTO Faults (FaultGroup,IP)"
  3. + " VALUES (?FaultGroup,?Text,?Date,?IP)",conn);
  4. MysqLParameter paramFaultGroup = new MysqLParameter("?FaultGroup",myFault.FaultGroup);
  5. paramFaultGroup.Value = (int) faultsGroup;
  6. cmdAdd.Parameters.Add(paramFaultGroup);
  7. cmdAdd.ExecuteNonQuery();

猜你在找的MySQL相关文章