现在的时间是凌晨3:33。
刚做完了计划内任务,终于轻松了一些。
一个问题困扰了我一个多小时,花几分钟记录下来吧。
我用DataAdapter和DataGridView来对Oracle数据库做简单的增删改查,DataAdapter的Update方法,会涉及到数据的增改删,所以要事先设定好InsertCommand,UpdateCommand和DeleteCommand属性。我在修改数据时遇到了问题,我本想通过一个按钮点击,将DataGridView中的数据一次行更新,但是始终没有成功,当时我的UpdateCommand是这么写的:

Code
1
private void CreateUpdateCommand(OracleDataAdapter da, OracleConnection conn)
2![]()
{
3
OracleParameter param = null;
4
da.UpdateCommand = conn.CreateCommand();
5![]()
6
da.UpdateCommand.CommandText = "update " + TABLENAME + " set " +
7
"CFDW=:cfdw,XZQY=:xzqy,FWMC=:fwmc,FWTX=:fwtx,WFBH=:wfbh,ZYL=:zyl,CZFS=:czfs,ZYSJ=:zysj,WLDH=:wldh,YSDW=:ysdw," +
8
"CZDW=:czdw,KPRQ=:kprq,ZXRQ=:zxrq,DJ=:dj,CB=:cb,LR=:lr,JBR=:jbr where ID=:id";
9![]()
10
param = new OracleParameter(":id", OracleType.Number, 22, "ID");
11
param.SourceVersion = DataRowVersion.Original;
12
da.UpdateCommand.Parameters.Add(param);
13![]()
14
param = new OracleParameter(":cfdw", OracleType.VarChar, 50, "CFDW");
15
param.SourceVersion = DataRowVersion.Original;
16
da.UpdateCommand.Parameters.Add(param);
17![]()
18
param = new OracleParameter(":xzqy", OracleType.VarChar, 50, "XZQY");
19
param.SourceVersion = DataRowVersion.Original;
20
da.UpdateCommand.Parameters.Add(param);
21![]()
22
![]()
23![]()
24
}
后来我把除id对应外的所有param.SourceVersion = DataRowVersion.Original;改成 param.SourceVersion = DataRowVersion.Current;
搞定!