title image


Smiley SQL-Statement klappt nicht
Hallo,

seit Stunden versuche ich vergeblich Daten aus der Oracle-DB auszulesen, die Datumsfelder haben. Lass ich die weg, kann ich die DB_Inhalte in meinen Edit-Feldern sehen.

Wenn ich das so mit ner SQLBASE gemacht habe, hat das einwandfrei geklappt.

ERhalte aber jetzt immer die Meldung: Fehler bei einem aus mehreren Schritten bestehenden Vorgang.

******************************************************************************

procedure Tfrm_Kunden.FormShow(Sender: TObject);

begin

//Verbindungen herstellen

qry_ReDaten.ConnectionString:=ADO_Provider;

//qry_ReDaten.Open;

qry_KDNR.ConnectionString:=ADO_Provider;

//qry_KDNR.Open;

qry_Daten_lesen.ConnectionString:=ADO_Provider;

qry_Daten_lesen.Close;

qry_Daten_lesen.SQL.Add('SELECT * FROM kunden ORDER BY kdnr');

qry_Daten_lesen.Open;

qry_daten_lesen.Last;

Daten_lesen;

end;



procedure Tfrm_Kunden.Daten_lesen;

begin

//Überprüfen ob es schon Kunden gibt wenn ja dann lies sie aus

if (self.qry_daten_lesen.Recordset.RecordCount > 0) and (self.qry_daten_lesen['KDNR'] Null) then

begin

lbl_Kdnr.Caption:=qry_daten_lesen['KDNR'];

Ed_Nachname.Text:=qry_daten_lesen['Nachname'];

Ed_Vorname.Text:=qry_daten_lesen['Vorname'];

Ed_Strasse.Text:=qry_daten_lesen['Strasse'];

Ed_PLZ.Text:=qry_daten_lesen['PLZ'];

Ed_Ort.Text:=qry_daten_lesen['Ort'];

Ed_Telefon.Text:=qry_daten_lesen['Telefon'];

Ed_Fax.Text:=qry_daten_lesen['Fax'];

Ed_Email.Text:=qry_daten_lesen['Email'];

Ed_Mobil.Text:=qry_daten_lesen['Mobil'];

Ed_Bank.Text:=qry_daten_lesen['Bank'];

Ed_BLZ.Text:=qry_daten_lesen['BLZ'];

Ed_KtoNr.Text:=qry_daten_lesen['KTONR'];

dtp_Geb.DateTime:=qry_daten_lesen['Geb'];

Memo_Kunden.Text:=qry_daten_lesen['Memo'];

cb_Schuhkunde.Checked:=qry_Daten_lesen['Schuhkunde'];

cb_Repkunde.Checked:=qry_daten_lesen['Reperaturkunde'];

Ed_Status.Text:=qry_Daten_lesen['Status'];

dtp_Ebest.Date:=qry_Daten_lesen['Ebest'];

dtp_Lbest.Date:=qry_Daten_lesen['Lbest'];

end;

end;

***********************************************



Wenn ich mit folgendem select ein Update auf einen Datensatz machen will, bekomme ich nur die Meldung SQL ncht korrekt.

Lasse ich mir aber den String sql_update in einer MessageBox anzeigen, sind alle Felder korrekt gefüllt. Ich versteh nicht, warum Delphi mir immer wieder die Fehlermeldungen gibt.



*************************************************

ADOCommand_Save.ConnectionString:=ADO_PROVIDER;



{ sql_update:='UPDATE kunden SET Nachname='+#39+Ed_Nachname.Text+#39 //kdnr =+#39+lbl_Kdnr.Caption

//+',Nachname='+#39+Ed_Nachname.Text+#39

+',Vorname='+#39+Ed_Vorname.Text+#39

+',Strasse='+#39+Ed_Strasse.Text+#39

+',PLZ='+#39+Ed_PLZ.Text+#39

+',Ort='+#39+Ed_Ort.Text+#39

+',Geb='+#39+DateToStr(dtp_Geb.Date)+#39

+',Telefon='+#39+Ed_Telefon.Text+#39

+',Fax='+#39+Ed_Fax.Text+#39

+',Mobil='+#39+Ed_Mobil.Text+#39

+',Email='+#39+Ed_Email.Text+#39

+',Bank='+#39+Ed_Bank.Text+#39

+',BLZ='+#39+Ed_BLZ.Text+#39

+',KtoNr='+#39+Ed_KtoNr.Text+#39

+',Status='+#39+Ed_Status.Text+#39

//+',Schuhkunde='+cb_Schuhkunde.Checked

//+',Reperaturkunde='+cb_Repkunde.Checked

+',Ebest='+#39+DateToStr(dtp_Ebest.Date)+#39

+',LBest='+#39+DateToStr(dtp_Lbest.Date)+#39

+',Memo='+#39+Memo_Kunden.Text+#39

+'where kdnr='+lbl_Kdnr.Caption; }



ADOCommand_Save.CommandText:= sql_update;

ADOCommand_Save.Execute; // Alle Daten in die Tabelle Kunden speichern



Application.MessageBox('Bitte immer erst die Änderung in die entsprechenden Felder eintragen und dann den Button "Ändern" klicken.'

+chr(13)+'Falls Sie eine Änderung vorgenommen haben, wurden diese Änderungen jetzt gespeichert','Änderung',64);

cmd_Speichern.Enabled:=False;

qry_Daten_lesen.Close;

qry_Daten_lesen.SQL.Add('SELECT * FROM kunden ORDER BY kdnr');

qry_Daten_lesen.Open;

qry_daten_lesen.Last;



*************************************************



Vielleicht kann mir jemand helfen. Ich hab schon alles mögliche probiert, aber ohne Erfolg.

Gruß

Gabi

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: