Autor |
Beitrag |
gamoes
      
Beiträge: 86
|
Verfasst: Fr 14.04.06 21:57
Auch beim folgenden Quelltext erhalte ich die Meldung SQL-Befehl wurde nicht korrekt beendet und ich verstehe nicht wieso:
**************************************************
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| ora_qry_Re_daten_lesen2.SQL.Text:='SELECT * FROM rechnung, rechdaten, kunden, artikel' +'WHERE kdnr=r_kdnr' +'AND renr=rechnr' +'AND artnr=r_artnr' +'AND renr='+QuotedStr(lbl_ReNr.Caption); ora_qry_Re_daten_lesen2.Execute; ******************************************************* |
Nur artnr und r_artnr sind Strings alle anderen nr-Spalten sind Number.
Gruß
Gabi
Moderiert von raziel: Delphi-Tags hinzugefügt
|
|
Marco D.
      
Beiträge: 2750
Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
|
Verfasst: Fr 14.04.06 22:05
_________________ Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot
|
|
Blawen
      
Beiträge: 616
Erhaltene Danke: 33
Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
|
Verfasst: Fr 14.04.06 23:54
gamoes hat folgendes geschrieben: | Auch beim folgenden Quelltext erhalte ich die Meldung SQL-Befehl wurde nicht korrekt beendet und ich verstehe nicht wieso:
**************************************************
ora_qry_Re_daten_lesen2.SQL.Text:='SELECT * FROM rechnung, rechdaten, kunden, artikel'
+'WHERE kdnr=r_kdnr'
+'AND renr=rechnr'
+'AND artnr=r_artnr'
+'AND renr='+QuotedStr(lbl_ReNr.Caption);
ora_qry_Re_daten_lesen2.Execute;
*******************************************************
Nur artnr und r_artnr sind Strings alle anderen nr-Spalten sind Number.
Gruß
Gabi |
Machst Du bewusst keine Leerschläge?
Sollte es nicht heissen
Delphi-Quelltext 1: 2: 3:
| .... +' AND ....' .... |
_________________ Es kompilert, wir können ausliefern.
Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Sa 15.04.06 05:14
Heißt das bei Euch echt "Leerschläge" ?  Wieviele Tastaturen braucht dann ein User ca. pro Woche ?  Aber egal. Ob bewußt oder unbewußt. Sowas setzt man mit Add zusammen und fertig. Wer sich solch lange Bezeichner leisten kann, für den ist wohl auch ein SelectSQl.Add anstatt eines SQL.Text und ++ zumutbar.
_________________ Gruß
Hansa
|
|
gamoes 
      
Beiträge: 86
|
Verfasst: Sa 15.04.06 12:02
Besten Dank für Eure Hilfe. Jetzt klappt es.
Gruß
Gabi
|
|
Blawen
      
Beiträge: 616
Erhaltene Danke: 33
Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
|
Verfasst: Sa 15.04.06 13:45
hansa hat folgendes geschrieben: | Heißt das bei Euch echt "Leerschläge" ? Wieviele Tastaturen braucht dann ein User ca. pro Woche ? |
Klar, wie willst Du es sonst benennen -> Leerzeichen?
Aber der User soll ja auch nicht mit der Tastatur um sich schlagen! - Um die Tastatur hab ich dabei ja keine Angst, die hält ja auch sonst einiges aus!
Zitat: | Sowas setzt man mit Add zusammen und fertig. Wer sich solch lange Bezeichner leisten kann, für den ist wohl auch ein SelectSQl.Add anstatt eines SQL.Text und ++ zumutbar. |
Wenn Du mit einem Datenformular arbeitest und den Querys noch logische Namen vergibst, ist es unter Umständen durchaus übersichtlicher nicht mit add zu arbeiten (insbesondere wenn das ganze noch ausdruckbar sein soll)
_________________ Es kompilert, wir können ausliefern.
Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Sa 15.04.06 16:00
Ah ja, Schweizer. Alles klar.  Guck Dir mal den geposteten Source etwas genauer an. Der ist, so wie er da steht, prädestiniert für Add. Jetzt mal unabhängig von dem dahinterliegenden Sinn :
Delphi-Quelltext
Delphi-Quelltext 1: 2:
| if CheckBox1.checked then SelectSQL.Add ('AND artnr=r_artnr'); |
Ohne Add wirst Du letzeres nur schwerlich machen können. Auf jeden Fall viel komplizierter und wohl kaum so gut zu lesen, wie die Alternative. Klar kann man auch hingehen und in solchen Fällen das komplette Select mehrmals hinschreiben. Je nach Status der Checkbox u.a. Schon mal SQLMonitor benutzt ? In Verbindung mit einem simplen Memo stehen da die Zeilen schön untereinander. Sollte jetzt trotz allem eine einzige Zeile gebraucht werden. Datenformular ?  Trotz Add kann man immer noch mit SelectSQL.Text das Ganze auch als eine Zeile ausdrucken !
_________________ Gruß
Hansa
|
|
Blawen
      
Beiträge: 616
Erhaltene Danke: 33
Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
|
Verfasst: Sa 15.04.06 16:42
Zitat: | Delphi-Quelltext 1: 2:
| if CheckBox1.checked then SelectSQL.Add ('AND artnr=r_artnr'); |
Ohne Add wirst Du letzeres nur schwerlich machen können. Auf jeden Fall viel komplizierter und wohl kaum so gut zu lesen, wie die Alternative. Klar kann man auch hingehen und in solchen Fällen das komplette Select mehrmals hinschreiben. Je nach Status der Checkbox u.a. Schon mal SQLMonitor benutzt ? In Verbindung mit einem simplen Memo stehen da die Zeilen schön untereinander. Sollte jetzt trotz allem eine einzige Zeile gebraucht werden. Datenformular ? |
Problemlos möglich - schlussendlich ist es eher eine Frage des pers. Geschmacks:
Delphi-Quelltext 1: 2:
| if CheckBox1.checked then SelectSQL.Text := SelectSQL.Text + ' AND artnr=r_artnr'; |
Wieso muss das Select mehrfach aufgeführt werden? Ob jetzt mit Add oder mit "+" - das Ergebnis ist doch das selbe!
Übersichtlichkeit:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| FMD.ZQ_Speich.SQL.Text := 'Insert Into KONTAKTDATEN Set ' + 'ANREDE_ID = :Anrede_ID, ' + 'TITEL_ID = :Titel_ID, ' + 'VORNAME = :Vorname, ' + 'NACHNAME = :Nachname, ' + 'STRASSE1 = :Strasse1, ' + ... |
Find ich persönlich übersichtlicher als mit Add.
Zitat: | Trotz Add kann man immer noch mit SelectSQL.Text das Ganze auch als eine Zeile ausdrucken ! |
Bezog sich nicht auf das Ausgeben des Inhalts des Query, sondern auf das Ausdrucken des Quelltextes zwecks Archivierung.
_________________ Es kompilert, wir können ausliefern.
Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro
|
|
|