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时操作就不同咯。。。。。。。就是第一种方式。

  • 相关阅读:
    Saltstack module gem 详解
    Saltstack module freezer 详解
    Saltstack module firewalld 详解
    Saltstack module file 详解
    Saltstack module event 详解
    Saltstack module etcd 详解
    Saltstack module environ 详解
    Saltstack module drbd 详解
    Saltstack module dnsutil 详解
    获取主页_剥离百度
  • 原文地址:https://www.cnblogs.com/coolsundy/p/4097691.html
Copyright © 2011-2022 走看看