加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

C#MySqlParameter问题

发布时间:2020-12-11 23:50:52 所属栏目:MySql教程 来源:网络整理
导读:(int)faultsGroup是0或1但我总是得到这个错误:列FaultGroup不能为null 有人告诉我为什么吗?语法看起来不错. MySqlCommand cmdAdd = new MySqlCommand("INSERT INTO Faults (" + " FaultGroup,Text,Date,IP" + ") VALUES (" + " @FaultGroup,@Text,@Date,@I

(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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读