Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TQuery + BDE + Paradox (https://www.delphipraxis.net/11826-tquery-bde-paradox.html)

Stephan 14. Nov 2003 14:27


TQuery + BDE + Paradox
 
Hi,

Ich füge Daten in eine paradox Tabelle über ein TQuery ein. Mein Query sieht folgendermaßen aus:

Delphi-Quellcode:
DataModule2.Query3.SQL.Add('INSERT INTO '''+DataModule2.Table1.TableName+
  ''' (UID,Datum,Betreff,Eintrag,Speichername,bgcolor)
  VALUES ('''+uid+''','''+tempdatum+''','''+
  form1.betreff.text+''' ,'''+tempstringlist.Text+''','''+
  speichername.text+''','''+intToStr(form1.editor.color)+''')');
Leider erhalte ich bei Zeichen wie " oder ' Fehler. desweiteren sit die Zeichenanzahl auf ca. 31000 bei der StringList begrenzt. Wie kann ich solche Fehler umgehen?

viele Grüße

Stephan

[edit=r_kerber]Delphi-Tags gesetzt und übersichtlicher formatiert! Mfg, r_kerber[/edit]

Stephan 14. Nov 2003 16:43

Re: TQuery + BDE + Paradox
 
Hi,

bei meinem obigen Beispiel kommt ein Fehler wenn ich ein ' abspeichern will. (Fehler: Ungültiges Schlüsselwort). Wenn ich statt ''' verwende "' dann kann ich zwar das ' benutzen aber kein ". Wie kann ich aber beides benutzen? Habe schon alles versucht :(

r_kerber 14. Nov 2003 16:48

Re: TQuery + BDE + Paradox
 
Hallo Stephan,

kannst Du mal posten, was nach dem Add in der Eigenschaft SQL steht?

Stephan 14. Nov 2003 17:07

Re: TQuery + BDE + Paradox
 
Hi,

so würde dann das Query aussehen:

UPDATE 'test.db' SET Betreff='test'test', Eintrag='{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f 0\fnil\fcharset0 MS Sans Serif;}{\f1\fnil MS Sans Serif;}}
\viewkind4\uc1\pard\lang1031\f0\fs16 asdf\f1
\par }
', Speichername='asdf', Bgcolor='16777215' WHERE id="29"


der ' zwischen den biedne test macht das Problem. Aber wie kann ich das verhindern?!?!?

Bernd Ua 14. Nov 2003 17:17

Re: TQuery + BDE + Paradox
 
Hallo Stefan,

statt dem dauernden zigfachen wiederholen von ''' etc pp solltest Du Dir einmal QuotedStr anschauen.
Das packt Dir nicht nur passende Strings an Anfang und Ende sondern dupliziert die Dinger ggfs auch,
wenn sie im String vorkommen.

QuotedStr von Deinem Test'Test ergibt dann zB 'Test''Test'.

Den Tabellennamen dagegen packst Du stattdessen in doppelte Anführungszeichen.

Bernd

Stephan 14. Nov 2003 17:30

Re: TQuery + BDE + Paradox
 
Hi,

ok, das mit den ' und " klappt jetzt. Allerdings wenn ich einfach mal diesen Thread per strg + c in die zwischenablage kopier und in mein dbrichedit einfüg und es mit meinem query abspeichern will erhalt ich wieder den fehler.

aber ich hab noch eine frage:

wenn ich per SELECT * WHERE... LIKE was durchsuch, wie kann ich dann Groß- und Kleinschreibung von Memo Feldern ignorieren? Von Edit klappts ja über uppercase ganz gut. Aber nicht bei Memos.

viele Grüße

Stephan


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr.

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