Autor Beitrag
Masterjoh
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

Win XP Professional
D7 Architect
BeitragVerfasst: Mo 18.07.05 12:27 
Hallo Leute,

hab ein Probelm mitmeiner Query und im moment noch keine gescheite Lösung gefunden. Das Problem ist, dass ích eine String Variable benutze, um den SqlText zu speichern und dann zur Laufzeit an die Query übergebe, aber mein Parameter nicht erkannt wurde. Nach einigem Probieren habe ich herrausgefunden, dass der Text über 255 Zeichen hat, also habe ich es mit WideString versucht, aber auch dass klappte nicht. Hat jemand ne Idee, woran es liegen könnte, oder wie man es anders lösen kann?

Hier der Sourcecode zur Veranschaulichung:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
var
  TmpBewNr  : Integer;
  BewNr, TempErfassNr : String;
  SQLText : wideString;

begin

  TempErfassNr := ErfassNr;

        dmLager.qrBewegungen.Close;
        SqlText := 'INSERT INTO Bewegungen(BewDatum,Verbucht,BuchKey,Zugang,Abgang,';
        SqlText := SqlText + 'KommmissionsZugang,KommissionsAbgang,Madant,FilialNr,';
        SqlText := SqlText + 'LagerNr,ArtikelNr,ArtBez,Gespeichert,BewNr) ';
        SqlText := SqlText + 'SELECT DATE(),false,01,0,0,0,0,Mandant,FilialNr,';
        SqlText := SqlText + 'LagerNr,ArtikelNr,ArtBez,1 FROM ZugehendeArtikel AS Zu ';
        SqlText := SqlText + 'WHERE Zu.ErfassNr = :@lErfassNr ';
        dmLager.qrBewegungen.SQL.Text := SQLText;
        dmLager.qrBewegungen.Parameters.ParamByName('@lErfassNr').Value := TempErfassNr;
        dmLager.qrBewegungen.ExecSQL;

end;


Gruß, Masterjoh
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 18.07.05 12:41 
n widestring ist nur ein unicode-string, sprich jedes 2. zeichen ist ne null.
das wird dich auch nicht weiterbringen, der typ string von delphi kann schon von haus aus mit bis zu 2 gb inhalt zurechtkommen

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Masterjoh Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

Win XP Professional
D7 Architect
BeitragVerfasst: Mo 18.07.05 13:15 
Hallo Retnyg,

danke für die Antwort; habe mir schon so etwas in der Richtung gedacht. Jedoch liegt es tatsächlich an der Größe, denn als ich im Debug-Modus, den Wert ändern wollte und bestätigt habe, kam als Fehlermeldung, dass der String über 255 Zeichen habe. So kam ich erst darauf. Irgendwie verwirrend, nicht wahr?
mikhal
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 109

Windows 10 Professional 64-Bit
VS 215 CE, Delphi 10.1 Berlin Professional
BeitragVerfasst: Mo 18.07.05 15:31 
Ergänze deinen SQL-String mal in jeder Zeile um einen Zeilenumbruch (#13#10) dann hört der Spuk auf.

Du schreibst alles in eine Zeile und dann sind es offensichtlich mehr als 255 Zeichen und das Kann die Query-Komponente nicht. Besser als ein einzelner String ist eine TStringList und die Methode Add für die einzelnen Zeilen.

Grüße
Mikhal

_________________
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mo 18.07.05 15:32 
tja, scheint an deiner ado-komponente zu liegen (welche ists denn ?)
aber irgendwie sonderbar, denn bei sql-statements ist es eher die regel, dass diese länger als 255 zeichen sind user defined image

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Masterjoh Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20

Win XP Professional
D7 Architect
BeitragVerfasst: Mo 18.07.05 15:41 
:oops: habe den Fehler gefunden, muss mich echt schämen, denn dass ganze Problem begründete sich nur darauf, dass ich der Query irgendwann einmal die Verbindung weggenommen habe, kaum habe ich die Connection richtig gesetzt geht es auch wieder. :D

Sorry, dass ich euch wegen solchen Lapalien Grübeln lassen hab.

Danke für die Unterstützung!

Joh