Avatar billede fhansen Praktikant
07. april 2007 - 02:09 Der er 1 kommentar og
1 løsning

ClientDataSet error

Hejsa.

Jeg bruger en ClientDataSet til hente data fra min mysql.
Mit problem er at jeg ikke kan inserte og opdatere data, uden at få en fejl der siger *record not found or changed by another* user.

For god ordens skyld vil jeg lige sige at begge databaser indtil videre ligger på min PC. så der er ikke andre der kan have ændret data.

Findes der en bedre måde at contecte til Mysql end bruge ClienDataset, SqlQuery, DataSetProvider, SqlConnection.


  LocalData.First;
  while not LocalData.Eof do begin
    if ClientDataSet1.Locate('Nummer',LocalData.FieldByname('Nummer').AsString,[loCaseInsensitive]) then begin
      ClientDataSet1.Edit;
      ClientDataSet1.FieldByName('Navn').AsString := LocalData.FieldByName('Navn').AsString;
      ClientDataSet1.FieldByName('Adresse').AsString := LocalData.FieldByName('Adresse').AsString;
      ClientDataSet1.FieldByName('Postnr').AsString := LocalData.FieldByName('Postnummer').AsString;
      ClientDataSet1.FieldByName('City').AsString := LocalData.FieldByName('City').AsString;
      ClientDataSet1.FieldByName('Telefon').AsString := LocalData.FieldByName('HjTlf').AsString;
      ClientDataSet1.FieldByName('Mobil').AsString := LocalData.FieldByName('MoTlf').AsString;
      ClientDataSet1.FieldByName('Mail').AsString := LocalData.FieldByName('Mail').AsString;
      ClientDataSet1.Post;
    end
    else begin
      ClientDataSet1.Insert;
      ClientDataSet1.FieldByName('Nummer').AsInteger := LocalData.FieldByName('Nummer').AsInteger;
      ClientDataSet1.FieldByName('Navn').AsString := LocalData.FieldByName('Navn').AsString;
      ClientDataSet1.FieldByName('Adresse').AsString := LocalData.FieldByName('Adresse').AsString;
      ClientDataSet1.FieldByName('Postnr').AsString := LocalData.FieldByName('Postnummer').AsString;
      ClientDataSet1.FieldByName('City').AsString := LocalData.FieldByName('City').AsString;
      ClientDataSet1.FieldByName('Telefon').AsString := LocalData.FieldByName('HjTlf').AsString;
      ClientDataSet1.FieldByName('Mobil').AsString := LocalData.FieldByName('MoTlf').AsString;
      ClientDataSet1.FieldByName('Mail').AsString := LocalData.FieldByName('Mail').AsString;
      ClientDataSet1.FieldByName('Login').AsInteger := LocalData.FieldByName('Login').AsInteger;
      ClientDataSet1.FieldByName('Password').AsInteger := LocalData.FieldByName('Pass').AsInteger;
      ClientDataSet1.FieldByName('Question').AsInteger := 0;
      ClientDataSet1.FieldByName('Admin').AsInteger := 0;
      ClientDataSet1.Post;
    end;
    LocalData.Next;

  end;
  if (ClientDataSet1.ChangeCount > 0) then
    ClientDataSet1.ApplyUpdates(-1);


  StatusBar1.Panels[0].Text := IntToStr(LocalData.RecordCount)+' på local';
  StatusBar1.Panels[1].Text := IntToStr(WebData.RecordCount)+' på web';
Avatar billede fhansen Praktikant
07. april 2007 - 17:12 #1
Hmmm får samme fejl med Tsimpledataset
Avatar billede fhansen Praktikant
10. april 2007 - 01:01 #2
Lukker, og starter et nyt spørgsmål.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester