奇怪的問題,ClientDataSet1和ClientDataSet2同時OPEN,但是我按BitBtn_SAVE保存時,顯示是保存的資料,但是查詢后還是原來的資料,那里出問題了?
procedure TForm1.BitBtn_CXClick(Sender: TObject);
begin
//查詢
ClientDataSet1.RemoteServer:=DSProviderConnection1;
ClientDataSet2.RemoteServer:=DSProviderConnection1;
try
ClientDataSet1.Close;
ClientDataSet1.CommandText:='SELECT U_id,U_name FROM T_USER';
ClientDataSet1.Open;
DBGridEh1.DataSource:=DataSource1;
DataSource1.DataSet:=ClientDataSet1;
ClientDataSet2.Close;
ClientDataSet2.CommandText:='SELECT U_XH,U_MC FROM T_BJ';
ClientDataSet2.Open;
With ClientDataSet2 do
begin
combobox1.Items.Add(Trim(ClientDataSet2.FieldByname('U_MC').AsString));
ClientDataSet2.Next;
end;
except
on E: Exception do
begin
application.MessageBox('失敗 ', '提示', mb_iconinformation + mb_ok);
end;
end;
end;
procedure TForm1.BitBtn_SAVEClick(Sender: TObject);
begin
//保存
ClientDataSet1.Edit;
ClientDataSet1.FieldByName('U_name').AsString:=Edit1.Text;
ClientDataSet1.ApplyUpdates(-1);
application.MessageBox(PChar('保存成功'+CHAR(13)+CHAR(13)), '提示', mb_iconinformation + mb_ok);
end;
uj5u.com熱心網友回復:
如果注釋掉下面的這段就可以保存,這是什么鬼?ClientDataSet2.Close;
ClientDataSet2.CommandText:='SELECT U_XH,U_MC FROM T_BJ';
ClientDataSet2.Open;
With ClientDataSet2 do
begin
combobox1.Items.Add(Trim(ClientDataSet2.FieldByname('U_MC').AsString));
ClientDataSet2.Next;
end;
uj5u.com熱心網友回復:
1、原則上你ClientDataSet2只是給combobox1提供資料,使用完應該就關閉;2、同時打開兩個ClientDataSet是可以的,不知道你這里還有其他什么原因。ClientDataSet打開后其實資料是在本地,并且與服務器已斷開連接的。
uj5u.com熱心網友回復:
ClientDataSet1.FieldByName('U_name').AsString:=Edit1.Text;這里需要POST一下才能用applyupdate吧。?
ClientDataSet1.ApplyUpdates(-1);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/11168.html
標籤:數據庫相關
