Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi sql insert wird zu lang (https://www.delphipraxis.net/39845-sql-insert-wird-zu-lang.html)

Grumble 8. Feb 2005 11:36

Datenbank: FIREBIRD • Zugriff über: SQL

sql insert wird zu lang
 
hi,

ich habe folgende anweisung
Delphi-Quellcode:
dm.ZQ.SQL.Add('INSERT INTO ASSET_FIELDS (ASSET_ID,NAME,EINHEIT,DATENTYP,ISTKRITERIUM,ISTVISIBLE,ISTENABLED,ISTID,ISTLAENGE,ISTSTRASSENSCHLUESSEL,ISTSTRASSENNAME,ISTSTRASSENABSCHNITTSCHLUESSEL,ISTSTRASSENABSCHNITTNAME,DEFAULTWERT) values (:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n);');
als fehlermeldung bekomm ich nun
String-literale koennen maximal 255 elemente besitzen...
es sind mehr ich weiss, aber wie kann ich das umgehn? muss ich meine spaltennamen kuerzen?

mason 8. Feb 2005 11:47

Re: sql insert wird zu lang
 
Teile die Zeile einfach - mit SQL.Add füllst du im Prinzip eine Stringliste - ob der Text darin mehrzeilig ist interessiert die Komponenten nicht... also z.B.
Delphi-Quellcode:
dm.ZQ.SQL.Add('INSERT INTO ASSET_FIELDS');
dm.ZQ.SQL.Add('(ASSET_ID,NAME,EINHEIT,DATENTYP,ISTKRITERIUM,ISTVISIBLE,ISTENABLED,ISTID,ISTLAENGE,');
dm.ZQ.SQL.Add('ISTSTRASSENSCHLUESSEL,ISTSTRASSENNAME,ISTSTRASSENABSCHNITTSCHLUESSEL,ISTSTRASSENABSCHNITTNAME,DEFAULTWERT)');
dm.ZQ.SQL.Add('values (:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n);');

Leuselator 8. Feb 2005 11:49

Re: sql insert wird zu lang
 
so:
Delphi-Quellcode:
dm.ZQ.SQL.Add('INSERT INTO ASSET_FIELDS');
dm.ZQ.SQL.Add('(ASSET_ID');
dm.ZQ.SQL.Add(',NAME');
dm.ZQ.SQL.Add(',EINHEIT');
dm.ZQ.SQL.Add(',DATENTYP');
dm.ZQ.SQL.Add(',ISTKRITERIUM');
dm.ZQ.SQL.Add(',ISTVISIBLE');
dm.ZQ.SQL.Add(',ISTENABLED');
dm.ZQ.SQL.Add(',ISTID');
dm.ZQ.SQL.Add(',ISTLAENGE');
dm.ZQ.SQL.Add(',ISTSTRASSENSCHLUESSEL');
dm.ZQ.SQL.Add(',ISTSTRASSENNAME');
dm.ZQ.SQL.Add(',ISTSTRASSENABSCHNITTSCHLUESSEL');
dm.ZQ.SQL.Add(',ISTSTRASSENABSCHNITTNAME');
dm.ZQ.SQL.Add(',DEFAULTWERT)');
dm.ZQ.SQL.Add('values');
dm.ZQ.SQL.Add('(:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n);');
Gruß

Grumble 8. Feb 2005 11:52

Re: sql insert wird zu lang
 
:oops: ahso ... na alles klar ... darauf haette ich selbst kommen muessen :wall:



:thumb: ich danke euch

st-matze 8. Feb 2005 12:00

Re: sql insert wird zu lang
 
anstatt Add kannst du ja auch die property text benutzen.

Sharky 8. Feb 2005 12:04

Re: sql insert wird zu lang
 
Zitat:

Zitat von st-matze
anstatt Add kannst du ja auch die property text benutzen.

Auch dann verbietet es der Compiler mehr als 255 Zeichen auf einmal im Quellcode zuweisen zu wollen ;-)

Hansa 8. Feb 2005 12:27

Re: sql insert wird zu lang
 
der Vollständigkeit halber :

Delphi-Quellcode:
dm.ZQ.SQL.Add.LoadFromFile ('SQL.TXT');
Bei ganz großen Statements eventuell übersichtlicher.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz