zoukankan      html  css  js  c++  java
  • C#开发MySQL数据库程序时需要注意的几点

    一:引用MySQL使用基于Parameter方式代码,总是提示:“Column '列名'cannot be null”解决


     

    MySQL使用基于Parameter方式代码,总是提示:“Column '列名' cannot be null”
     
    解决方法1:直接在连接字符串里面加一个 oldsyntax=true  即可。
     
    例如:
    1
    server=127.0.0.1;user id=root;password=;database=itemdb;oldsyntax=true
     
    解决方法2:将语句中的 @ 替换为 ?
     
    例如:
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    StringBuilder strSql=new StringBuilder();
     
    strSql.Append("insert into test(");
     
    strSql.Append("name)");
     
    strSql.Append(" values (");
     
    strSql.Append("?name)");
     
    MySqlParameter[] parameters = {
     
      new MySqlParameter("?name", MySqlDbType.VarChar,45)};
     
    parameters[0].Value = model.name;
     
    DbHelperMySQL.ExecuteSql(strSql.ToString(),parameters);

    二:使用Odbc链接mysql时parameter参数设置

       当用ODBC链接MySQL时,@Parameter设置sql参数时却发现值无法传达到数据库,原来MySql搞特殊化用的是?号。网上说用?Parameter代替@Parameter,但试了还是不行,最后得出结论是直接用?号就好了,下面是例子:

    insert into table_name(name,intro) values(?,?)

    cmd.Parameters.Add("1","value1");

    cmd.Parameters.Add("2","value2");

    既然parameter参数全部为?号,那么设置参数值时就只能按顺序了,不像@Parameter那样可以用键值对来对应。

    如果用MySqlContector时操作就不同咯。。。。。。。就是第一种方式。

  • 相关阅读:
    提问必备-如何有效的提问?
    通过jdbc驱动连接thriftserver
    在idea上使用springboot构建ssm项目(一)
    二柱子与他的计算题
    JavaScript
    表单格式化
    2020.10.09
    HTML书写规范
    下拉列表框 JComboBox
    用户登录界面
  • 原文地址:https://www.cnblogs.com/coolsundy/p/4097691.html
Copyright © 2011-2022 走看看