Simon
Simon

Reputation: 69

SELECT * INTO Incomplete Query Clause

I seem to be doing something wrong in my OleDbCommand, but I don't know what it is. I am trying to create another table in my access database that is exactly the same as the first but with a different name, by copying everything from one and using SELECT INTO. I don't know why it doesn't work.

        OleDbCommand copyAttendanceCommand = new OleDbCommand("SELECT * INTO '" + "Attendance " + DateTime.Now.Day + "/" + DateTime.Now.Month + "/" + DateTime.Now.Year + "' FROM Attendance",loginForm.connection);
        copyAttendanceCommand.ExecuteNonQuery();

The Error message that I get says "Syntax error in query. Incomplete query clause." Does anyone know what that means?

Upvotes: 0

Views: 176

Answers (2)

Gustav
Gustav

Reputation: 55856

You may even format your date to make the code more readable:

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

Upvotes: 0

Andre
Andre

Reputation: 27634

Table or field names with spaces are not specified with '' around them, but with square brackets.

Your command should be:

"SELECT * INTO [Attendance " + DateTime.Now.Day + "/" + DateTime.Now.Month + "/"
  + DateTime.Now.Year + "] FROM Attendance"

Upvotes: 1

Related Questions