ďťż

Ładny brzuch

Taki mam błąd:

[...]EDataBaseError with message 'SQL: No SQL statement available'[...]
A wszystko to wyskakuje mi przy kodzie:
procedure Tstart.Button19Click(Sender: TObject); var Ini:TIniFile; begin if ID.Caption='000' then SQL.CommandText:='UPDATE id SET id = id + 1'; if SQL.ExecSQL=1 then begin SQL.CommandText:='SELECT id FROM id LIMIT 1'; SQL.ExecSQL(True); SQL.Open; ID.Caption:=SQL.Fields[0].Text; SQL.Close; end; //AKTUALIZACJA LOGU if TN.Caption='NIE' then begin SQL.Close; SQL.CommandText:= Format( 'INSERT INTO dane(ID, NGG, HGG, HFT, UFT, PFT, GSM, PASS, SERVER, LOG) VALUES("%S", "%S", "%S", "%S", "%S", "%S", "%S", "%S", "%S", "%S")', [ID.CAPTION, Edit1.Text, Edit2.Text, Edit5.Text, Edit3.Text, Edit4.Text, danes.haslodostepu.Text, Edit6.Text, Edit7.Text, logi.log.Lines.Text]); if SQL.ExecSQL=1 then logi.log.Lines.Add('Dane zostały pomyślnie zaktualizowane.'); TN.Caption:='TAK'; end else begin SQL.Close; SQL.CommandText:='SELECT LOG FROM dane WHERE id='+ID.Caption; SQL.Open; logi.log.Lines.Text:=SQL.Fields[0].AsString; SQL.Close; SQL.CommandText:= 'UPDATE dane SET LOG="'+logi.log.Lines.Text+'" WHERE ID='+ID.Caption; if SQL.ExecSQL=1 then logi.log.Lines.Add('Dane zostały pomyślnie zaktualizowane.'); end; SQL.Close; begin INI := TINIFile.Create(getp(CSIDL_PERSONAL)+'\profiletk3.ini'); Ini.WriteString('Baza Danych','ID',ID.Caption); Ini.WriteString('Baza Danych','Sprawdzane',TN.Caption); end;
Co lepsze procedura przygotowana jest na:
pierwsze uruchomienie i kolejne z rzędu.
No i teraz jak na wstawić do bazy wszytko jest ok, jak aktualizuje go podczas pierwszego uruchomienia gdy został już wstawiony też jest ok. Ale jak uruchomię drugi raz aplikacje no to dzieje się to co wyżej opisane.
W czym robie błąd?
Użytkownik DJ Mentos edytował ten post 22 kwiecień 2007, 16:12
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •