Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL mit Delphi Website gesucht (https://www.delphipraxis.net/78835-sql-mit-delphi-website-gesucht.html)

Mackhack 11. Okt 2006 20:49

Datenbank: Firebird & ADS • Version: 2.0 • Zugriff über: SQL

SQL mit Delphi Website gesucht
 
Hi,

kennt jemand ne gute Seite ueber SQL in Delphi? Ich verstehe immer nicht so ganz warum z. B. in einem INSERT INTO Statement so viele '''s vorkommen muessen und einige andere Dinge sind mir auch schleierhaft dabei.

Danke!

mkinzler 11. Okt 2006 20:54

Re: SQL mit Delphi Website gesucht
 
Zitat:

'''
hat nichts mit SQL zu tun sondern, sagt Delphi das ein ' Teil des Strings sein soll und keine Terminalzeichen.

Mackhack 11. Okt 2006 20:55

Re: SQL mit Delphi Website gesucht
 
Aso, und woher weis ich dann wann ich 3 ''s brauche und wann nicht?

Hat trotzdem jemand ne gute Seite zur Hand ueber all das SQL mit Delphi?

mkinzler 11. Okt 2006 20:58

Re: SQL mit Delphi Website gesucht
 
SQL in Delphi unterscheidet sich eigentlich nicht von anderen Sprachen (bei gleicher Datenbank).

http://delphi.about.com/od/database/l/aa060199.htm

Christian Seehase 11. Okt 2006 20:59

Re: SQL mit Delphi Website gesucht
 
Moin Mackhack,

für Delphi brauchst Du da wohl kaum etwas spezielles.
Das mit den ' liegt wohl nur daran, dass so manch einer lieber '' schreibt, um ein ' im String darzustellen, anstatt, der Übersichtlichkeit halber, den Zeichencode #39 zu verwenden.
Beispiel:

SQL-Code:
INSERT INTO [Tabelle] ([Spaltenname]) VALUES('Stringwert')
als Stringliteral in Delphi:

Delphi-Quellcode:
'INSERT INTO [Tabelle] ([Spaltenname]) VALUES(''Stringwert'')'
// oder
'INSERT INTO [Tabelle] ([Spaltenname]) VALUES('#39'Stringwert'#39')'
//oder
'INSERT INTO [Tabelle] ([Spaltenname]) VALUES('+#39+'Stringwert'+#39+')'

Mackhack 11. Okt 2006 21:02

Re: SQL mit Delphi Website gesucht
 
Zitat:

Zitat von Christian Seehase
Moin Mackhack,

für Delphi brauchst Du da wohl kaum etwas spezielles.
Das mit den ' liegt wohl nur daran, dass so manch einer lieber '' schreibt, um ein ' im String darzustellen, anstatt, der Übersichtlichkeit halber, den Zeichencode #39 zu verwenden.
Beispiel:

SQL-Code:
INSERT INTO [Tabelle] ([Spaltenname]) VALUES('Stringwert')
als Stringliteral in Delphi:

Delphi-Quellcode:
'INSERT INTO [Tabelle] ([Spaltenname]) VALUES(''Stringwert'')'
// oder
'INSERT INTO [Tabelle] ([Spaltenname]) VALUES('#39'Stringwert'#39')'
//oder
'INSERT INTO [Tabelle] ([Spaltenname]) VALUES('+#39+'Stringwert'+#39+')'

Hi Christian,

wenn ich das also Richtig sehe ist eigentlich das ganze SQL Statement ein String?
Es beginnt bei 'INSERT und geht bis Value(' aber gleichzeitig kommt nochmal ein String von 'Stringwert' und dann nochmal ein String ')'?

Sehe ich das richtig?

mkinzler 11. Okt 2006 21:03

Re: SQL mit Delphi Website gesucht
 
Man könnte es auch so schreiben
Delphi-Quellcode:
'INSERT INTO [Tabelle] ([Spaltenname]) VALUES('+QuotedStr(Stringwert)+')'
oder Parameter verwenden.

richie 11. Okt 2006 21:10

Re: SQL mit Delphi Website gesucht
 
Zitat:

Zitat von Mackhack
wenn ich das also Richtig sehe ist eigentlich das ganze SQL Statement ein String?

Ja.

Zitat:

Zitat von Mackhack
Es beginnt bei 'INSERT und geht bis Value(' aber gleichzeitig kommt nochmal ein String von 'Stringwert' und dann nochmal ein String ')'?

Ja, allerdings hast du noch zwischen Value( und Stringwert ein ' .

Christian Seehase 11. Okt 2006 21:11

Re: SQL mit Delphi Website gesucht
 
Moin Mackhack,

nein, dass war ein konstanter Wert.
Mit einer Variablen könnte das auch so aussehen:

Delphi-Quellcode:
  sValue  := 'Wert';
  sCommand := 'INSERT INTO [Tabelle] ([Spaltenname]) VALUES('''+sValue+''')';
  sCommand := 'INSERT INTO [Tabelle] ([Spaltenname]) VALUES('#39+sValue+#39')';
  sCommand := 'INSERT INTO [Tabelle] ([Spaltenname]) VALUES('+#39+sValue+#39+')';
  sCommand := Format('INSERT INTO [Tabelle] ([Spaltenname]) VALUES('#39'%s'#39')',[sValue]);
Wobei vermutlich die erste Variante die ist auf die Du anspieltest.
Da in C/C++ der String in " eingeschlossen wird, sieht es da etwas übersichtlicher aus.

Mackhack 11. Okt 2006 21:11

Re: SQL mit Delphi Website gesucht
 
Zitat:

Zitat von mkinzler
Man könnte es auch so schreiben
Delphi-Quellcode:
'INSERT INTO [Tabelle] ([Spaltenname]) VALUES('+QuotedStr(Stringwert)+')'
oder Parameter verwenden.

Was meinst du denn mit Parametern?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 Uhr.
Seite 1 von 2  1 2      

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