我有一些带有参数的简单 4 字段 SQL 查询,可以将一条记录插入到 ms-access 数据库中的某个日志记录表中。
string SQL = "INSERT INTO logHistory (ip, action, userid, time)" +
"VALUES (@val1, @val2, @val3, @time)";
using (OleDbCommand cmd = new new OleDbCommand(SQL, intranetDB))
{
cmd.Parameters.AddWithValue("@val1", ip);
cmd.Parameters.AddWithValue("@val2", action);
cmd.Parameters.AddWithValue("@val3", userID);
cmd.Parameters.AddWithValue("@time",
OleDbType.DBTimeStamp).Value = DateTime.Parse(time);
cmd.ExecuteNonQuery();
}
表结构非常简单:
CREATE TABLE logHistory{
id int auto_increment Primary Key,
ip varchar(15),
action varchar(50),
userid int,
time datetime
}
不幸的是,执行上述代码时出现 SQL 语法错误。
至于我尝试插入的值:
ip = 任何可能生成的 IPv4 地址...
action = "SomeTestingString"
userid = 任何整数 < 999
时间 = DateTime.Now;
我已经尝试以一些不同的方式预先解析时间,但我的想法已经不多了。
string time = DateTime.Now.ToString();
string time = DateTime.Now.ToString("yyyyMMdd hh:mm:ss");
string time = DateTime.Now.ToShortDateString();
我很感激任何建议。