MySqlParameter使用MySqlDbType.Time出错

feifan570 2016-08-25 12:35:02
先上代码:
StringBuilder strSql=new StringBuilder();
strSql.Append("insert into tbl_group(");
strSql.Append("group_name,onduty_start,onduty_end,right_manage,right_access,right_park,right_sendcar)");
strSql.Append(" values (");
strSql.Append("@group_name,@onduty_start,@onduty_end,@right_manage,@right_access,@right_park,@right_sendcar)");
MySqlParameter[] parameters = {
new MySqlParameter("@group_name", MySqlDbType.VarChar,64),
new MySqlParameter("@onduty_start", MySqlDbType.Time),
new MySqlParameter("@onduty_end", MySqlDbType.Time),
new MySqlParameter("@right_manage", MySqlDbType.Int32,11),
new MySqlParameter("@right_access", MySqlDbType.Int32,11),
new MySqlParameter("@right_park", MySqlDbType.Int32,11),
new MySqlParameter("@right_sendcar", MySqlDbType.Int32,11)};
parameters[0].Value = model.group_name;
parameters[1].Value = model.onduty_start;
parameters[2].Value = model.onduty_end;
parameters[3].Value = model.right_manage;
parameters[4].Value = model.right_access;
parameters[5].Value = model.right_park;
parameters[6].Value = model.right_sendcar;

int rows=DbHelperMySQL.ExecuteSql(strSql.ToString(),parameters);
执行这段代码,就会抛出异常:Fatal error encountered during command execution.
我看了网上,对于Fatal error encountered during command execution.的解决办法是连接字符串加入:Allow User Variables=True; 我也照办了,但是还是出现这样的异常。
我把new MySqlParameter("@onduty_start", MySqlDbType.Time),new MySqlParameter("@onduty_end", MySqlDbType.Time)这两个参数删掉,结果就正常了, onduty_start在mysql定义为time型的,在代码中,model.onduty_start 是定义成DateTime;
对于MySqlDbType.Time型的数据,我该怎么传参呢?
...全文
267 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
feifan570 2016-08-29
  • 打赏
  • 举报
回复
现在问题解决了,把MySqlDbType.Time改成MySqlDbType.DateTime就可以了。
crystal_lz 2016-08-29
  • 打赏
  • 举报
回复
貌似time 只有时分秒 date还包含日期

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧