TechGeek
TechGeek

Reputation: 2212

Insert into Access DB Table though C#

Can anybody please tell me what I am doing wrong here? It gives me Invalid Insert INTO exception.

internal static bool CheckInKey(string keyID, int cabinetID, int drawerNumber, string row, int column)
{
    cmd.Parameters.Clear();
    cmd.CommandText = "Insert into CheckInCheckOut(KeyID,CabinetID,DrawerNumber,Row,Column,CheckInTime) values(?,?,?,?,?,?)";
    cmd.Parameters.AddWithValue("?", keyID);
    cmd.Parameters.AddWithValue("?", cabinetID);
    cmd.Parameters.AddWithValue("?", drawerNumber);
    cmd.Parameters.AddWithValue("?", row);
    cmd.Parameters.AddWithValue("?", column);
    cmd.Parameters.AddWithValue("?", DateTime.Today.ToString());

    conn.Open();
    int rowsAffected = cmd.ExecuteNonQuery();
    conn.Close();

    if (rowsAffected == 1)
        return true;
    else
        return false;
}

Here is my Access Table snapshot: enter image description here

Upvotes: 0

Views: 59

Answers (1)

Steve
Steve

Reputation: 216243

COLUMN is a reserved keyword in MS-Access.
To use it from C# code you need to encapsulate it in square brackets

cmd.CommandText = @"Insert into CheckInCheckOut
                         (KeyID,CabinetID,DrawerNumber,Row,[Column],CheckInTime) 
                         values(?,?,?,?,?,?)";

Upvotes: 4

Related Questions