我似乎在OleDbCommand中做错了什么,但我不知道它是什么。我试图在我的访问数据库中创建另一个表,该表与第一个表完全相同但具有不同的名称,通过从一个复制所有内容并使用SELECT INTO。我不知道为什么它不起作用。
OleDbCommand copyAttendanceCommand = new OleDbCommand("SELECT * INTO '" + "Attendance " + DateTime.Now.Day + "/" + DateTime.Now.Month + "/" + DateTime.Now.Year + "' FROM Attendance",loginForm.connection);
copyAttendanceCommand.ExecuteNonQuery();
我收到的错误消息显示“查询中的语法错误。不完整的查询子句。”有谁知道这意味着什么?
答案 0 :(得分:1)
带有空格的表格或字段名称未在''
周围指定,但带方括号。
你的命令应该是:
"SELECT * INTO [Attendance " + DateTime.Now.Day + "/" + DateTime.Now.Month + "/"
+ DateTime.Now.Year + "] FROM Attendance"
答案 1 :(得分:0)
您甚至可以格式化日期以使代码更具可读性:
string today = DateTime.Today.ToString("d'/'M'/'yyyy");
string sql ="SELECT * INTO [Attendance " + today + "] FROM Attendance";
OleDbCommand copyAttendanceCommand = new OleDbCommand(sql, loginForm.connection);
copyAttendanceCommand.ExecuteNonQuery();