通过C#插入Access DB表

时间:2014-09-16 19:32:57

标签: c# database ms-access

有谁能告诉我这里做错了什么? 它为我提供了无效的插入INTO例外。

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;
}

这是我的Access Table快照: enter image description here

1 个答案:

答案 0 :(得分:4)

COLUMN是保留的keyword in MS-Access 要从C#代码中使用它,您需要将其封装在方括号

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