【发布时间】:2012-12-23 15:19:21
【问题描述】:
我正在处理访问问题,但遇到了具有日期时间的插入查询。像这些查询对我不起作用。
INSERT INTO tbl_fuel_levels([genset_id], [rec_time], [fuel_level],
[grid_electricity], [genset_electricity], [genset_number])
VALUES('001', '#12/12/23 18:46:38+20#', '0', 'T', 'F', '+923468280124');
INSERT INTO tbl_fuel_levels([genset_id], [rec_time], [fuel_level],
[grid_electricity], [genset_electricity], [genset_number])
VALUES('001', #'12/12/23 18:46:38+20'#, '0', 'T', 'F', '+923468280124');
INSERT INTO tbl_fuel_levels([genset_id], [rec_time], [fuel_level],
[grid_electricity], [genset_electricity], [genset_number])
VALUES('001', '12/12/23 18:46:38+20', '0', 'T', 'F', '+923468280124');
有什么想法吗?可能出了什么问题。
这是我在 c# 中的代码:
con = new OleDbConnection(ConnStr);
con.Open();
cmd = con.CreateCommand();
cmd.CommandText = "INSERT INTO tbl_fuel_levels([genset_id], [rec_time],
[fuel_level], [grid_electricity], [genset_electricity], [genset_number])
VALUES('" + genset_id + "', '" + rec_time + "', '" + fuel_level + "', '" +
grid_electricity + "', '" + genset_electricity + "', '" + genset_number + "');";
cmd.ExecuteNonQuery();
我也试过这个。
cmd.CommandText = "INSERT INTO tbl_fuel_levels([genset_id], [rec_time],
[fuel_level], [grid_electricity], [genset_electricity], [genset_number])
VALUES('" + genset_id + "', @rec_t, '" + fuel_level + "', '" + grid_electricity
+ "','" + genset_electricity + "', '" + genset_number + "');";
cmd.Parameters.Add("@rec_t", OleDbType.DBTimeStamp).Value
= DateTime.Parse(rec_time);
所有其他插入和选择查询都工作正常
【问题讨论】:
-
能否请您展示一下您的 OLEDB 命令代码是什么样子的,同时检查数据库并告诉我们数据类型设置为 '
-
找不到你吗?你的意思是c#代码?
-
日期字段数据类型是 DateTIme 还是 Text,时间字段也很重要吗..?
-
附加快照中提供的日期时间
-
你试过
YYYY-MM-DD HH:NN:SS格式
标签: c# visual-studio ms-access insert