Query1 UpdateSQL1 DataSource DBGrid 经过相应的设置后.
我想修改该表的某两列数据(这两列数据初始为空)
当我修改其中的某一列数据后(A列),点保存(Query1->ApplyUpdates(),Query1->CommitUpdates()),然后修改B列 ,点保存,可B列不能被保存.
请问这是为什么?我觉得很奇怪
我想修改该表的某两列数据(这两列数据初始为空)
当我修改其中的某一列数据后(A列),点保存(Query1->ApplyUpdates(),Query1->CommitUpdates()),然后修改B列 ,点保存,可B列不能被保存.
请问这是为什么?我觉得很奇怪
BIANH MINGC A B
0001 甲
0002 乙
0003 丙
0004 丁 1,Query1这样设置 的
SQL: select * from W
UpdateObject:UpdateSQL1
DatebaseName:QW
CacheUpdate:true
Active:true
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Query1->ApplyUpdates();
Query1->CommitUpdates();
}
}
2,双击UpdateSQL1
Key Fields:BIANH
Update Fields:BIANH
MINGC
A
B
点 General SQL 然后OK
3,DataSource1 的DataSet:Query1
4,DBGrid1 的DataSource: DataSource1
这样设置应该没有错吧
可问题就出来了:
如果先修改A 点保存,再修改B 点保存,最后是A列数据保存了,可B列的数据没有保存
如果先修改B 点保存,再修改A 点保存,最后是B列数据保存了,可A列的数据没有保存
这个问题好奇怪?请问是怎么回事
你用的是BCB+BDE+query吧,为什么不用ado
Query1->Active=false;
Query1->Active=ture;
吗?
按照我理解的:
我这样修改Button
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Query1->ApplyUpdates();
Query1->CommitUpdates();
Query1->Active=false;
Query1->Active=ture;}
可还是不行
{
Query1->Post;//替换成直接提交
}