Entwickler-Ecke
Datenbanken - Buch SQL Server und Delphi
schaumermal - Mi 25.11.09 22:14
Titel: Buch SQL Server und Delphi
Hallo,
ich habe bisher nur DB Anwendungen mit Paradox Datenbanken und Delphi erstellt.
Jetzt möchte ich gerne Anwendungen unter Delphi mit Anbindung an MS SQL Datenbanken erstellen.
Könnt Ihr mir hierzu ein entsprechendes Buch empfehlen?
Gruß
Kai
schaumermal - Fr 27.11.09 10:43
Gibt es zu diesem Thema wirklich keine Bücher?
Vieleicht kann mir ja auch zu diesem Thema direkt eine Antwort geben.
Mit Paradox habe ich Änderungen an den Daten einfach mit Insert, Delete und Post bearbeitet (bei Table und Query).
Unter SQL gibt es aber bei der Query separate SQL Statemants für Delete, Instert, Update, usw.
Ich kann doch mit Query.Delete direkt den aktuellen Datensatz löschen. Warum gibt es eine separate SQL Anweisung hierfür?
Ebenso ist es doch einfacher mit Query.Insert und Query.Post zu arbeiten als mit einem separaten SQL Statement (Insert into xxx (value ...)) zumal ich hier Feldinhalte ja dann auch noch zuordnen muss.
Möglicherweise habe ich hier auch nur ein Verständnisproblem bei dem mir jemand helfen kann.
mkinzler - Fr 27.11.09 11:30
Diese Abfragen werden bei .Insert, Update, .Delete aufgerufen
giantdwarf - Fr 27.11.09 11:36
Das SQL Statement bietet außerdem Möglichkeiten zusätzliche Dinge wie den Aufruf einer Stored Procedure etc. auszuführen.
schaumermal - Fr 27.11.09 12:18
Hi,
mkinzler hat folgendes geschrieben : |
| Diese Abfragen werden bei .Insert, Update, .Delete aufgerufen |
Wenn ich dies richtig verstehe, muss ich diese dann nicht explizit setzten, es sein den ich will im Rahmen dieser Aktion weiters auslösen?
hansa - Fr 27.11.09 13:43
schaumermal hat folgendes geschrieben : |
| ..muss ich diese dann nicht explizit setzten, es sein den ich will im Rahmen dieser Aktion weiters auslösen? |
So ungefähr siehts aus. Zuerst teilt man seinem Dataset mal die grundlegenden SQL Befehle mit. Das baut sich die ja dann, zumindest im Normalfall, auch gleich richtig zusammen. Kennt alle Felder usw. Insbesondere für Insert und Delete braucht man sich da keine SQL-Strings selber zusammenzubauen. Aber Vorsicht ! Du wirst hier und auch sonstwo zig Beispiele finden, wo das trotzdem so gemacht wird. Unnötigerweise ufert das meistens aus, weil sehr fehlerträchtig. Da werden Ratschläge gegeben QuotedStr zu benutzen usw. Im Endeffekt wird wegen etwas, was bereits von alleine geht, ein Riesenaufwand betrieben.
Dann noch die Ausnahmen : betrifft hauptsächlich SelectSQL. Das Standard-SQL wäre
SELECT * FROM TABLEX. Wer braucht aber immer alle Datensätze einer einzelnen Tabelle ? Also passt man das im Quelltext selber an. D.h. das Standard-SelectSQL ist noch da, aber in dem einen Fall gilt eben das eigene. Zum Insert fällt mir jetzt gar nichts ein, aber vielleicht noch für Delete : ich will alle Datensätze mit NR < 100 löschen. In dem Fall müsste man dann das Standard-DeleteSQL auch ersetzen, z.B. so :
DELETE FROM TABLEX WHERE NR <= 100
mkinzler - Fr 27.11.09 14:17
Also Hansa, diese Abfrage bei DeleteSQL einzutragen ist ja wohl sehr gefährlich! :shock:
Man markiert den 1. Datensatz und u.U. werden 100 gelöscht, oder wenn diese nicht mehr vorhanden sind passiert gar nichts!
hansa - Fr 27.11.09 14:27
Ich wollts fast schon nicht schreiben. :mrgreen: Allerdings : das war auch nicht als Erstz für das Dataset-DeleteSQL gedacht, sondern höchstens für den Quelltext und Sonderfälle !
schaumermal - Fr 27.11.09 14:33
Hi,
danke für die Infos.
Ich hatte aber den Hinweis von hansa schon richtig verstanden, dass dies nur aus dem Quellcode so gesetzt werden sollte, falls die Aktion so notwendig ist.
mkinzler - Fr 27.11.09 14:44
Dann würde ich hierfür aber eine eigene Abfrage verwenden.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!