急:refresh()第二个记录就写不进数据库
我用一个Access数据库,用TTable建立了连接.需要运行时往里面写入记录. 是连续的二个记录.
第一个记录写入成功,第二个记录运行到refresh()处时好象进入了死循环一样,不能写入也不能往下进行.
代码如下:
//DealTable->Close();
//Sleep(1000);
DealTable->Open();
DealTable->Edit();
DealTable->Append();
.
.
.
DealTable->FieldByName("ID")->AsString=StrNowTime ;
DealTable->FieldByName("Manual")->AsString= "Y" ;
//DealTable->Post();
DealTable->Refresh(); //第二个记录在这里进行不下去
DealTable就是TTable名,联系到了一个数据表.
先关再打开数据表也不行,用Post后再Refresh也不行.
请大侠们瞧瞧这是怎么啦. 谢谢
------解决方案--------------------不知道你的具体环境
如果实在不行的话
就通过Query+SQL 语句写数据吧
------解决方案--------------------
refresh:不是用于提交更新的,而是用于从数据库取得最新的数据——即刷新当前数据集的数据;
Post:提交给当前数据集,如果当前数据集是直连数据库(比如TTable),则会直接更新到数据库,如果当前数据集是带缓冲的(TClientDataSet),则只是更新缓冲而已
DataSet的思想是提供一系列记录的访问,保存在内部缓冲区内,但有一些规则.第一;一次只能有一个活动记录,如果需访问多个记录,必须在记录间移动读取数据. 第二:只能编辑活动记录,
所以建议用Post传数据到数据库而不能用Refresh. 我试过了,能行