即時通訊編寫一個數據庫程序,我有一個DBGrid和Navagator連接到一個DataSource女巫掛鉤到一個ClientDataSet。這保存到一個XML文件。當我使用導航器刪除記錄時,它將從DBGrid中刪除(也是當我重新啓動應用程序時),但它仍在XML文件中。我想保持清潔,那麼是否有辦法通過使用我現在使用的組件來從XML文件中刪除記錄?刪除ClientDatSet中的記錄將不會刪除它在我的XML文件
procedure TForm1.serverExecute(AContext: TIdContext);
var
sLoginName, sPassword: string;
LoginExist: Boolean;
NewLogin: TStringList;
begin
if AContext.Connection.Socket.ReadLn = 'NewAccount' then
lbLog.Items.Add('New account request form: ' + aContext.Connection.Socket.Binding.PeerIP);
sLoginName := aContext.Connection.Socket.ReadLn;
sPassword := aContext.Connection.Socket.ReadLn;
lbLog.Items.Add('With Login Name: ' + sLoginName);
LoginExist := False;
ClientDataSet1.DisableControls;
try
ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
if ClientDataSet1.Fields[0].Value = sLoginName then
begin
LoginExist := True;
Break;
end;
ClientDataSet1.Next;
end;
finally
ClientDataSet1.EnableControls;
end;
if LoginExist = false then
begin
NewLogin := TStringList.Create;
NewLogin.Add(sLoginName);
NewLogin.Add(sPassword);
lbLog.Items.Add('Name accepted');
lbLog.Items.Add('---------------');
ClientDataSet1.InsertRecord([NewLogin[0], NewLogin[1]]);
FreeAndNil(NewLogin);
lbLog.Items.Add('');
end
else
lbLog.Items.Add('Login name allready exists');
lbLog.Items.Add('---------------');
請參閱['MergeChangeLog'](http://docwiki.embarcadero.com/RADStudio/XE3/en/Merging_Changes_into_Data)。 –
yeas Ive禁用更改日誌 – Eszee