AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL -> Text mit ' einfügen ?
Thema durchsuchen
Ansicht
Themen-Optionen

SQL -> Text mit ' einfügen ?

Ein Thema von HolgerCW · begonnen am 12. Mär 2007 · letzter Beitrag vom 17. Mär 2007
Antwort Antwort
Seite 2 von 2     12   
Valeo Pupsus

Registriert seit: 5. Jun 2006
21 Beiträge
 
#11

Re: SQL -> Text mit ' einfügen ?

  Alt 16. Mär 2007, 13:29
>Hansa
hm..
Und was machst du, wenn musst du Insert/Update mit kompliziert Bedingungen verwirklichen?
MFG,Val.
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#12

Re: SQL -> Text mit ' einfügen ?

  Alt 16. Mär 2007, 13:36
Bin zwar nicht Hansa, aber ich würde dann eine Stored Procedure in der DB anlegen, die die Bedingungen berücksichtigt und diese von Delphi aus mit Parametern füllen.
  Mit Zitat antworten Zitat
Valeo Pupsus

Registriert seit: 5. Jun 2006
21 Beiträge
 
#13

Re: SQL -> Text mit ' einfügen ?

  Alt 16. Mär 2007, 14:10

Leider, koennen wir SP in Paradox, FoxPro und so weiter nicht schaffen..
MFG,Val.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: SQL -> Text mit ' einfügen ?

  Alt 16. Mär 2007, 15:17
Zitat von Valeo Pupsus:

Leider, koennen wir SP in Paradox, FoxPro und so weiter nicht schaffen..
Hier gings aber um Oracle.
Markus Kinzler
  Mit Zitat antworten Zitat
Thanatos81
(Gast)

n/a Beiträge
 
#15

Re: SQL -> Text mit ' einfügen ?

  Alt 16. Mär 2007, 15:19
Falls es um neue Projekte geht, würde ich euch zu ner embedded Lösung eines "ordentlichen" SQL-RDBMS raten. Gerade Paradox ist hoffnunglos überaltet und macht z.B. unter Vista zumindest meinen Erfahrungen nach Probleme.

Falls es doch bei Paradox bleibt würde ich solche Inserts auch per Insert, FieldByName, Post usw. lösen, hab mit SQL in Verbindung mit Paradox eh keine guten Erfahrungen...
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#16

Re: SQL -> Text mit ' einfügen ?

  Alt 16. Mär 2007, 15:36
Das Problem das Hansa verunsichert hat man bei allen Strings die nicht einfach eine Message nach draußen sind. Auch Dateinamen kann ich in einem String falsch schreiben. Dann kracht's halt auch. Also generell auf Strings verzichten??

Jedenfalls hat ein INSERT-Statement den Vorteil, dass man nicht erst die DB abfragen muss, um was einzufügen.

Hansa würde (wenn ich ihn richtig verstehe) das Dataset mit einer Tabelle verbinden, die dann öffnen, dann ein Append machen, Felder beschreiben und Post und Schließen. Ich würde INSERT bla INTO blub schreiben, die Parameter setzen und ausführen.

Bei Hansa würde im schlechtesten Fall erstmal bei Open der gesamte Tabelleninhalt an Delphi gepumpt. Nicht so toll. Bei INSERT eben nicht.

Hansa hat außerdem den Nachteil, dass er keine komplizierten Abfragen abschicken kann. Denn: Die müsste er ja in Strings verpacken... und oh Gott, da kann ein Fehler drin sein. Also nichts mit JOINs oder ähnlichem, der Compiler würde es ja nicht bemerken.

Deshalb habe ich Hansa's Argumentation mit "Schwachsinn" bezeichnet. Man kann auch a := b / c; schreiben. Ist c = 0 gibt auch das einen Fehler den der Compiler nicht bemerken wird. Sowas passiert - wenn man damit ein Problem hat, dann muss man ausreichend mit try-except arbeiten.

Jedenfalls bleibe ich dabei: Möchte ich nur Daten in eine Tabelle einfügen, dann ist das mit INSERT i.d.R. am besten.

Amen
  Mit Zitat antworten Zitat
Valeo Pupsus

Registriert seit: 5. Jun 2006
21 Beiträge
 
#17

Re: SQL -> Text mit ' einfügen ?

  Alt 16. Mär 2007, 15:42
ja,ja,ja...Freitag..Abend...
MFG,Val.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

Re: SQL -> Text mit ' einfügen ?

  Alt 16. Mär 2007, 15:54
Privjet Val,

und herzlich willkommen in der Delphi-PRAXiS.

Hast schon Recht gehabt mit den Parametern. Das muss hier aber mindestens einmal pro Woche diskutiert werden, sonst sind wir nicht zufrieden.

Freundliche Grüße
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#19

Re: SQL -> Text mit ' einfügen ?

  Alt 16. Mär 2007, 18:34
Zitat von Thanatos81:
Bin zwar nicht Hansa, aber ich würde dann eine Stored Procedure in der DB anlegen, die die Bedingungen berücksichtigt und diese von Delphi aus mit Parametern füllen.
Was glaubst Du denn, wie ich das konkret mache ? bttb??? soll mal jetzt aber zuerst seinen fortgesetzten "Schwachsinn" erklären. Man stelle sich nämlich mal vor, die SP müsste auch noch im Source genauestens ohne Fehlerprüfung zur Designzeit als String zusammengesetzt und ausgeführt werden. Wie siehts bei 100 Zeilen SP und mehrfachem (((())))) aus ? Oder ''''''''' Wer sieht in maximal 10 Sek. die Fehler und kann sie auch in 1 Min. beseitigen ? @bttb??? : Fehler gefunden ? Dass Parameter benutzt werden sollen, da sind wir uns ja anscheinend einig, aber das beseitigt längst nicht alle sonstigen Design-Fehlerquellen in DB / Delphi.
Gruß
Hansa
  Mit Zitat antworten Zitat
Valeo Pupsus

Registriert seit: 5. Jun 2006
21 Beiträge
 
#20

Re: SQL -> Text mit ' einfügen ?

  Alt 17. Mär 2007, 17:10
In den meisten Fällen hat SQL Server ein "query cache"(Shared Pool im Oracle).
In der Regel: moechte den(cache) benutzen - benutzen Parametern im deine Ainfragern bitte. Das ist ganz einfach.
MFG,Val.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 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