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创建日期));

posted @ 2009-07-21 19:56  emanlee  阅读(647)  评论(1编辑  收藏  举报