我的一个小项目,用的是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中直接运行查询也可以更新,这问题到底出现在什么地方了??
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中直接运行查询也可以更新,这问题到底出现在什么地方了??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货