我的一个小项目,用的是access 数据库,对一个表写了一个更新查询:
    UPDATE D_Brand SET BrandName = [@BrandName] WHERE BrandId=[@BrandId];
  在页面中这样调用:    protected void imgBtnXG_Click(object sender, ImageClickEventArgs e)
    {
        Brand obrand = new Brand();
        obrand.BrandId = Convert.ToInt64(this.BrandId);
        obrand.BrandName = this.txtBrandName.Text;
        try
        {
            obrand.UpdateBrand(obrand);
            this.lblinfo.Text = "修改成功!";
            this.lblinfo.Visible = true;
        }
        catch (Exception ex)
        {
            throw ex;
        }    }
 Brand 类:UpdateBrand()函数:
   public void UpdateBrand(Brand obrand)
    {
        ArrayList objArray = new ArrayList();
        OleDbParameter objParam;        objParam = new OleDbParameter("@BrandId", OleDbType.BigInt);
        objParam.Value = obrand._brandId;
        objArray.Add(objParam);        objParam = new OleDbParameter("@BrandName", OleDbType.VarChar);
        objParam.Value = obrand._brandName;
        objArray.Add(objParam);               OPData.ExecProc("Update_Brand", objArray);
   }
OPData类执行存储过程:
        public static void ExecProc(string ProcName, ArrayList objArray)
        {
            OleDbConnection conn = OPData.CreateConnection();
            OleDbCommand objCmd = new OleDbCommand(ProcName, conn);
            conn.Open();            
            objCmd.CommandType = CommandType.StoredProcedure;
            for (int i = 0; i < objArray.Count; i++)
            {
                objCmd.Parameters.Add(objArray[i]);
            }
            objCmd.ExecuteNonQuery();
            conn.Close();
        }
提提示数据更新成功,但是 access 中的数据并没有更新,奇怪了,我要是在程序中写sql语句就可以更新。在access中直接运行查询也可以更新,这问题到底出现在什么地方了??