W
wumeng
Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是Win2k,d5,TSocketConnection,SQL2K。三层下EDIT,POST的问题。
我先找到DBNavigate连接的TClientDataSet,然后用它的EDIT,POST。
如果我只修改几个字段(1,2,3,4个字段都试过),修改时,只要不包括
主键,它总是修改DBGRID中的第一条,而不是当前记录。但如果你修改的字段
包含主键,修改的结果一正确。下面是我的代码。
procedure TfrmMatAdd.dbnMasterBeforeAction(Sender: TObject;
Button: TNavigateBtn);
var
cdsDelete: TClientDataSet;
begin
inherited;
if Button<>nbDelete then
Exit;
cdsDelete:= TClientDataSet(TDBNavigator(Sender).DataSource.DataSet);
cdsDelete.Edit;
cdsDelete.FieldByName('status').Value:='D';
cdsDelete.Post;
abort;
end;
我先找到DBNavigate连接的TClientDataSet,然后用它的EDIT,POST。
如果我只修改几个字段(1,2,3,4个字段都试过),修改时,只要不包括
主键,它总是修改DBGRID中的第一条,而不是当前记录。但如果你修改的字段
包含主键,修改的结果一正确。下面是我的代码。
procedure TfrmMatAdd.dbnMasterBeforeAction(Sender: TObject;
Button: TNavigateBtn);
var
cdsDelete: TClientDataSet;
begin
inherited;
if Button<>nbDelete then
Exit;
cdsDelete:= TClientDataSet(TDBNavigator(Sender).DataSource.DataSet);
cdsDelete.Edit;
cdsDelete.FieldByName('status').Value:='D';
cdsDelete.Post;
abort;
end;