码迷,mamicode.com
首页 > 数据库 > 详细

C#开发MySQL数据库程序时需要注意的几点

时间:2014-11-14 17:41:21      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:style   http   color   ar   os   使用   sp   数据   div   

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

 

C#开发MySQL数据库程序时需要注意的几点

标签:style   http   color   ar   os   使用   sp   数据   div   

原文地址:http://www.cnblogs.com/coolsundy/p/4097691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!