(int)faultsGroup是0或1但我总是得到这个错误:列’FaultGroup’不能为null
有人告诉我为什么吗?语法看起来不错.
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,IP)"
+ " VALUES (?FaultGroup,?Text,?Date,?IP)",conn);
MySqlParameter paramFaultGroup = new MySqlParameter("?FaultGroup",myFault.FaultGroup);
paramFaultGroup.Value = (int) faultsGroup;
cmdAdd.Parameters.Add(paramFaultGroup);
cmdAdd.ExecuteNonQuery();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。