【发布时间】:2008-09-30 22:28:56
【问题描述】:
我正在使用通过存储查询(名为“UpdatePaid”,3 个参数如下所示)与 MSAccess 表对应的数据网格和适配器,如下所示:
OleDbCommand odc = new OleDbCommand("UpdatePaid", connection);
OleDbParameter param;
odc.CommandType = CommandType.StoredProcedure;
param = odc.Parameters.Add("v_iid", OleDbType.Double);
param.SourceColumn = "I";
param.SourceVersion = DataRowVersion.Original;
param = odc.Parameters.Add("v_pd", OleDbType.Boolean);
param.SourceColumn = "Paid";
param.SourceVersion = DataRowVersion.Current;
param = odc.Parameters.Add("v_Projected", OleDbType.Currency);
param.SourceColumn = "ProjectedCost";
param.SourceVersion = DataRowVersion.Current;
odc.Prepare();
myAdapter.UpdateCommand = odc;
...
myAdapter.Update();
它工作正常...但真正奇怪的是它没有直到我调用 odc.Prepare()。
因此,我的问题是:在使用 OleDb 存储的过程/查询时,我是否需要一直这样做?为什么?我还有另一个项目即将推出,我必须用 SqlDbCommand 做同样的事情......我也必须用这些做吗?
【问题讨论】:
标签: c# .net stored-procedures ole