悲剧:第一次使用Mysql
本博客还有大量的.NET开源技术文章,您可能感兴趣:
5..NET平台机器学习组件-Infer.NET系列文章:链接
好久没有写程序了,准备开始上班了,有些地方要用到数据库,经过仔细斟酌,还是考虑选用开源的MySql,虽然一直用MSSQL和Access还不错,但Mysql的鼎鼎大名和优势也听说过,只是没机会用到。所以也想趁此机会好好学习一下。
建立数据库和表这些简单的过程都差不多了,也很顺利,感觉比较好,虽然是英文界面,但还可以接受。接下来通过C#来操作数据库就遇到了很大的麻烦。插入数据时一直提示错误,不能为空。可是调试发现所有的数据值都有,怎么会出现这种情况呢。。纳闷之际想到了,我想到可能是字符集的问题,而且我的字段名称都用的是中文。google一下,还发现字符集的问题真不少,所以把有重新建表,测试还是不通过,提示“Column '列名' cannot be null”,这次还好是英文,开始都是一些乱码,还是不能解决问题,又去google,这次发现有人和我有同样的问题,而且下面这篇文章还详细介绍了改正方法:http://bybaxiao.blog.163.com/blog/static/309761232009321102523527/
经过调试确认就是这个原因:
MySQL使用基于Parameter方式代码,总是提示:“Column '列名' cannot be null”
MySQL使用基于Parameter方式代码,总是提示:“Column '列名' cannot be null”
解决方法1:直接在连接字符串里面加一个 oldsyntax=true 即可。
例如:server=127.0.0.1;user id=root;password=;database=itemdb;oldsyntax=true
解决方法2:将语句中的 @ 替换为 ?
例如:
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);
终于解决问题了,郁闷死了,花了我3个小时啊。
编程爱好者,关注.NET软件开发,Matlab编程及网络技术
欢迎光临我的Cnblog博客:http://www.cnblogs.com/asxinyu/
欢迎大家进行交流,QQ :1287263703 ;MSN:dong.binhui@hotmail.com
E-mail:asxinyu@qq.com,asxinyu@126.com
.NET数据挖掘与机器学习,作者博客: http://www.cnblogs.com/asxinyu
E-mail:1287263703@qq.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架