Я буду тестировать приложение как приложение Windows, затем оно будет хранить дату и время в базе данных MySQL. Когда я буду запускать это приложение, используя службу Windows, будет выдано это исключение.
error [HY000][MySQL][ODBC 3.51 Driver] [MySqlid -6.0.11-alpha-community]incorrect datetime value " 5/6/2011 9:00:00 AM" for column column-name at row1
Приложение Windows принимает системный формат, и мой системный формат - гггг-ММ-дд чч: мм: сс в службе 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 = Update parameter 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 += where t.groupID=9 and t.itemID=Temp.DTparamID;
Мой запрос, например, значение метки времени равно 129500892576718750, он будет преобразован в DateTimeПреобразованное значение функции .FromFileTime (), например «2011-05-17 12:30:57», в приложении Windows будет записано в базу данных MySQL, но в преобразованном значении службы Windows, например 2011/05/17 12:30:57, будетне принимается базой данных MYSQL, то же самое, что я буду использовать в службе Windows
сейчас
UpdateQuery8 = "Update parameter " + Environment.NewLine;
UpdateQuery8 += "set paramvalue=@paramvalue,date_logged1=@date_logged1,Quality=@Quality,date_logged=@date_logged" + Environment.NewLine;
UpdateQuery8 += "where groupID=9 and 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();
будет выполнено, но в базе данных нет обновлений
Пожалуйстапомогите мне в этом.
Заранее спасибо.