13,825
社区成员
发帖
与我相关
我的任务
分享
void __fastcall TForm3::btn1Click(TObject *Sender)
{
int i1,i2;
int fixi=0;//一个不存在的值
String s1,s2,s3;
tbl1->DisableControls();
i1 = tbl1->FieldByName("id")->AsInteger;
s1 =tbl1->FieldByName("name")->AsString;
tbl1->Next();
i2 = tbl1->FieldByName("id")->AsInteger;
s2 =tbl1->FieldByName("name")->AsString;
tbl1->Edit();
tbl1->FieldByName("id")->AsInteger = fixi;
tbl1->Post();
tbl1->Locate("id",i1,TLocateOptions());
tbl1->Edit();
tbl1->FieldByName("id")->AsInteger = i2;
tbl1->Post();
//一个不存在的值
tbl1->Locate("id",fixi,TLocateOptions());
tbl1->Edit();
tbl1->FieldByName("id")->AsInteger = i1;
tbl1->Post();
tbl1->Sort = "id";
tbl1->EnableControls();
DBGrid1->Refresh();
}
第一次post修改后可能存在两个序号相同的值,这时由于有sort,所以哪条在前,哪条在后不确定,用locate方法就没问题了