C# 通过C插入Access DB表#
谁能告诉我我做错了什么它向异常中插入无效的内容。C# 通过C插入Access DB表#,c#,database,ms-access,C#,Database,Ms Access,谁能告诉我我做错了什么它向异常中插入无效的内容。 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,C
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;
}
这是我的访问表快照:
列
为保留列。要从C代码中使用它,需要将其封装在方括号中
cmd.CommandText = @"Insert into CheckInCheckOut
(KeyID,CabinetID,DrawerNumber,Row,[Column],CheckInTime)
values(?,?,?,?,?,?)";
列是保留的。
要从C代码中使用它,需要将其封装在方括号中
cmd.CommandText = @"Insert into CheckInCheckOut
(KeyID,CabinetID,DrawerNumber,Row,[Column],CheckInTime)
values(?,?,?,?,?,?)";
CheckInTime是一个日期时间,为什么要传递一个字符串?我认为即使在使用时也是如此?占位符语法您希望在添加参数时为参数指定实际名称。CheckOutTime是否可以为空?谢谢大家的帮助。我把它修好了。Column是一个保留关键字,这就是问题所在。CheckInTime是一个DateTime,为什么要传递一个字符串?我认为即使使用?占位符语法您希望在添加参数时为参数指定实际名称。CheckOutTime是否可以为空?谢谢大家的帮助。我把它修好了。列是一个保留关键字,这就是问题所在。