Autor Beitrag
gamoes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 86



BeitragVerfasst: 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:
**************************************************
ausblenden 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 user profile iconraziel: Delphi-Tags hinzugefügt
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Fr 14.04.06 22:05 
ausblenden Quelltext
1:
2:
3:
4:
5:
SELECT * FROM rechnung, rechdaten, kunden, artikel'
                                     +'WHERE
 kdnr=r_kdnr'
                                     +'AND renr=rechnr'
                                     +'AND artnr=r_artnr'
                                     +'AND renr='+QuotedStr(lbl_ReNr.Caption);


Probiere es mal so:
ausblenden Quelltext
1:
2:
3:
4:
5:
SELECT * FROM rechnung, rechdaten, kunden, artikel '
                                     +'WHERE kdnr=r_kdnr'
                                     +'AND renr=rechnr'
                                     +'AND artnr=''r_artnr'''
                                     +'AND renr='+QuotedStr(lbl_ReNr.Caption);

_________________
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 616
Erhaltene Danke: 33

Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
BeitragVerfasst: Fr 14.04.06 23:54 
user profile icongamoes 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

ausblenden Delphi-Quelltext
1:
2:
3:
....
+' AND ....'
....

_________________
Es kompilert, wir können ausliefern.
Und es kompiliert wieder - das Update ist fertig - bitte 100 Euro ;-)
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Sa 15.04.06 05:14 
Heißt das bei Euch echt "Leerschläge" ? :shock: Wieviele Tastaturen braucht dann ein User ca. pro Woche ? :lol: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 86



BeitragVerfasst: Sa 15.04.06 12:02 
Besten Dank für Eure Hilfe. Jetzt klappt es.

Gruß

Gabi
Blawen
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 616
Erhaltene Danke: 33

Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
BeitragVerfasst: Sa 15.04.06 13:45 
user profile iconhansa hat folgendes geschrieben:
Heißt das bei Euch echt "Leerschläge" ? :shock: Wieviele Tastaturen braucht dann ein User ca. pro Woche ? :lol:

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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Sa 15.04.06 16:00 
Ah ja, Schweizer. Alles klar. :D 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 :

ausblenden Delphi-Quelltext
1:
+'AND artnr=r_artnr'					


ausblenden 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 ? :shock: Trotz Add kann man immer noch mit SelectSQL.Text das Ganze auch als eine Zeile ausdrucken !

_________________
Gruß
Hansa
Blawen
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 616
Erhaltene Danke: 33

Win XP, Vista, 7
Delphi 5 Prof., BDS 2006 Prof. RAD Studio XE
BeitragVerfasst: Sa 15.04.06 16:42 
Zitat:
ausblenden 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:
ausblenden 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:
ausblenden 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 ;-)