SELECT * INTO不完整的查询子句

时间:2015-11-13 15:33:54

标签: visual-studio ms-access oledb

我似乎在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();

我收到的错误消息显示“查询中的语法错误。不完整的查询子句。”有谁知道这意味着什么?

2 个答案:

答案 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();