DB Zugriff via ADO bringt Fehler? Evt. anderer Zugriff?
-
Ne api gibts leider keine nur den ODBC Treiber. Gibt irgendwo gute Anleitungen zu ADO ich denke mal das dann ADO wohl meine einzige möglichkeit is oder???
MFG
Maruu
-
Ich möchte noch einmal darauf hinweisen, dass TADOQuery und TADOTable nur Kompabilitätskomponenten sind. In neuen Programmen haben die nichts zu suchen! Versuch doch bitte mal TADODataSet. Sollte es dann immer noch Probleme geben, liegt wohl tatsächlich ein Programmfehler vor. Aber dann müßtest Du mal ein bißchen mehr Source posten. Insbesondere die Stelle, an der es crasht.
Welche DB wird denn verwendet. Teilweise haben auch die ODBC-Treiber ihre Eigenheiten.
Maruu schrieb:
Ich hab nämlich das Problem das mir bei einer falschen Abfrage o.ä. immer das ganze Programm abschmiert und das würde ich gern abfangen nur scheint mir das nicht ganz so leicht, oder?
Was verstehst Du unter falscher Abfrage?
-
Joe_M. schrieb:
Ich möchte noch einmal darauf hinweisen, dass TADOQuery und TADOTable nur Kompabilitätskomponenten sind. In neuen Programmen haben die nichts zu suchen!
Könntest du mir bitte die Quellangaben liefern, wie du darauf kommst das TADOQuery und TADOTable Kompabilitätskomponenten sind?
Den mit TADODataSet kann man nur lesbare SELECT Abfragen starten,
dazu Quellangaben aus der BCB HilfeUse the TADODataSet component's CommandText property to retrieve the dataset, specifying either a table name or an SQL statement (SELECT only). TADODataSet is not capable of issuing Data Manipulation Language (DML) SQL statements that do not return result sets (like DELETE, INSERT, and UPDATE). For this use a component like TADOCommand or TADOQuery.
TADOQuery und TADOTable unterstützen les- und schreibbaren Zugriff auf die Abfragen/Tabellen, also haben sie ihre Daseinsberechtigung!
-
Quelle: Andreas Kosch... (der hat da schon ein paar Bücher drüber geschrieben)
TADOQuery und TADOTable sollen einem nur die Umstellung eines bestehenden Projektes, welches mit TQuery oder TTable erstellt wurde, erleichtern.
-
TADODataSet is not capable of issuing Data Manipulation Language (DML) SQL statements that do not return result sets (like DELETE, INSERT, and UPDATE). For this use a component like TADOCommand or TADOQuery.
ok dann muss wohl Borland einen Fehler in der Hilfe-Datei haben :p
und ich schon die ganze zeit Müll geschrieben haben
-
Da geht es aber um DML und nicht um Resultsets... Und für DML ich würde TADOCommand nehmen.
-
na siehste und ich nehme TADOQuery für alles

-
ja aber Du verwendest TADOQuery um Daten abzufragen (ein Result Set zu erhalten). In dem zitierten Hifetext steht aber man sollte TADOQuery oder TADOCommand verwenden um Daten zu modifizieren...
-
Joe_M. schrieb:
ja aber Du verwendest TADOQuery um Daten abzufragen (ein Result Set zu erhalten). In dem zitierten Hifetext steht aber man sollte TADOQuery oder TADOCommand verwenden um Daten zu modifizieren...
so TADOQuery aus der BCB-Hilfe
Use TADOQuery to access one or more tables in a data store using SQL statements.
Retrieve data from tables in an ADO data store using SELECT statements. Perform actions on tables and other metadata objects in an ADO data store with statements like INSERT, DELETE, UPDATE, ALTER TABLE, and CREATE TABLE. Execute stored procedures.Mit TADOQuery geht alles, also was mache ich jetzt falsch, wenn ich immer TADOQuery benutze, im Bezug auf die andere von dir favorisierten Komponenten?
-
Man kann schon mit TADOQuery arbeiten, aber es besteht die Möglichkeit, dass sich das später rächt... Warum nicht von Anfang an die richtigen Komponenten verwenden, statt mit Kompabilitätskomponenten zu arbeiten. Wenn Du dann irgendwann mal den Punkt erreicht hast, an dem TADOQuery Probleme bereitet ist das nur mit viel Aufwand zu ändern. Warum sich solch einmem Risiko aussetzen?
-
Joe_M. schrieb:
Man kann schon mit TADOQuery arbeiten, aber es besteht die Möglichkeit, dass sich das später rächt...
Wenn es darum geht, dürfte man gar nicht mehr den BCB mit den VCL benutzen,
da die Zukunft des BCB nicht grade vielversprechend ist.
-
Hey, das war nur ein gut gemeinter Rat...
Wenn Du unbedingt TADOQuery verwenden willst - bitte schön, hab' ich nix gegen. Aber wie gesagt es kann sich später bitter rächen. Und damit meine ich nicht in der nächsten BCB-Version (so es denn noch eine geben wird), sondern später im Projekt.
-
Jetzt rück halt endlich mit den Fakten raus wann es sich rächt?
Ich benutze jetzt ADO-Express mit ACCESS-DB und MySQL seit 2000
und du machst mir jetzt wirklich ANGST
-
Ich weiß gar nicht, ob man hier auf andere Foren verweisen darf
: www.entwickler-forum.de. Da gibt's genug Beispiele...
-
Was meinst du mit "Ich weiß nicht ob es überhaupt eine nächste BCB Version geben wird"?
Soll ich lieber gleich zu Microsoft Visual Studio .NET umsteiegen aber dann wäre ich an die MFC gebunden und mit meinem OpenSource gedanken is das ned so schön*g*MFG
Maruu
-
Maruu schrieb:
Soll ich lieber gleich zu Microsoft Visual Studio .NET umsteiegen aber dann wäre ich an die MFC gebunden und mit meinem OpenSource gedanken is das ned so schön*g*
Gerüchteweise heißt, es das einen BCB 9 geben wird, aber ob der dann noch die VCL verwendet... Kann mir das eigentlich nur analog zum Delphi 9 vorstellen: .NET (nicht mit MFC verwechseln).
Ich für meinen Teil werde mich in Zukunft wohl mehr mit C# und .NET beschäftigen. Für die nächsten 2 - 3 Jahre wird mir der BCB 6 aber hoffentlich noch reichen.
Grüße,