【发布时间】:2011-08-27 01:17:25
【问题描述】:
我将应用程序作为 windows 应用程序进行测试,然后它将日期时间存储在 MySQL 数据库中。当我将使用 windows 服务启动此应用程序时,将抛出此异常。
错误 [HY000][MySQL][ODBC 3.51 Driver] [MySqlid -6.0.11-alpha-community] 第 1 行的列 column-name 的日期时间值“5/6/2011 9:00:00 AM”不正确Windows 应用程序采用系统格式,我的系统格式是 yyyy-MM-dd hh:mm:ss 在 windows 服务中使用哪种格式。
query18 += "select '" + obj8 + "' as DTvalue ,'" + date8 + "' as DTdatelogged1 ,'" + OpcGroup.QualityToString(e8.sts[counter8].Quality) + "' as DTquality ,'" + DateTime.FromFileTime(e8.sts[counter8].TimeStamp) + "' as DTtimestamp ,'" + e8.sts[counter8].HandleClient + "' as DTparamID Union " + Environment.NewLine; UpdateQuery = 更新参数 t Left join + Environment.NewLine; UpdateQuery8 += ( + query18 + ) Temp on" + Environment.NewLine; UpdateQuery8 += t.itemID=Temp.DTparamID+ Environment.NewLine; UpdateQuery8 += set paramvalue=DTvalue, date_logged1=DTdatelogged1,Quality= DTquality,date_logged=DTtimestamp + Environment.NewLine; UpdateQuery8 += 其中 t.groupID=9 和 t.itemID=Temp.DTparamID;我的查询 likethis 时间戳值是 129500892576718750 它将转换 DateTime.FromFileTime() 函数转换值,如 Windows 应用程序中的 '2011-05-17 12:30:57' 它将被写入 mysql 数据库 但是在 Windows 服务转换值中,例如 2011/05/17 12:30:57 PM 它不会被 MYSQL 数据库接受,我将在 Windows 服务中使用同样的东西
现在
UpdateQuery8 = "更新参数" + Environment.NewLine; UpdateQuery8 += "set paramvalue=@paramvalue,date_logged1=@date_logged1,Quality=@Quality,date_logged=@date_logged" + Environment.NewLine; UpdateQuery8 += "其中 groupID=9 和 itemID=@itemID"; cmd8 = new OdbcCommand(UpdateQuery8, con136); cmd8.Parameters.Add("@paramvalue", obj8.ToString()); cmd8.Parameters.Add("@date_logged1", date8); cmd8.Parameters.Add("@Quality", OpcGroup.QualityToString(e8.sts[counter8].Quality)); cmd8.Parameters.Add("@date_logged", dt); cmd8.Parameters.Add("@itemID",e8.sts[counter8].HandleClient); cmd8.ExecuteNonQuery();它将被执行,但数据库中没有更新
请在这方面帮助我。
提前致谢。
【问题讨论】: