首页 > 代码库 > C#开发MySQL数据库程序时需要注意的几点
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 = http://www.mamicode.com/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数据库程序时需要注意的几点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。