C# 访问 Microsoft Access 数据库的特殊处理
C# 访问 Microsoft Access 数据库的特殊处理
以下使用参数访问数据库失败:
public static bool Update(
int aA用户编号,
string aB用户名,
DateTime aU创建日期)
{
string strSQL = @"UPDATE [BKz用户] SET
[AB用户名]=@AB用户名,
[AU创建日期]=@AU创建日期
WHERE [AA用户编号]=@AA用户编号";
IDbCommand cmd = MsAccess.CreateCommand(strSQL, GetConnectionString());
cmd.Parameters.Add(MsAccess.CreateParameter("@AA用户编号", DbType.Int64, aA用户编号));
cmd.Parameters.Add(MsAccess.CreateParameter("@AB用户名", DbType.String, aB用户名));
cmd.Parameters.Add(MsAccess.CreateParameter("@AU创建日期", DbType.DateTime, aU创建日期));
int rowsAffected = cmd.ExecuteNonQuery();
return (rowsAffected > 0);
}
解决方法:
不用:WHERE [AA用户编号]=@AA用户编号";
而用:WHERE [AA用户编号]=" + aA用户编号.ToString();
不用:("@AU创建日期", DbType.DateTime, aU创建日期));
而用:("@AU创建日期", DbType.Date, aU创建日期));