![]() |
Wie kann ich mit SQL und DAO Engine auf Access zugreifen?
Ich habe eine Access Datenbank und in Delphi einen fertigen HTTP Server, der nun über DAO auf die besagte Access Datenbank zugreifen soll
Code:
Bei # ... # habe ich Code ausgelassen
# ... #
const db_open_table = 1; db_open_dynaset = 2; db_open_snapshot = 4; # ... # var Form1: TForm1; dbengine: variant; db: variant; Workspace: variant; Stream: TStringStream; RequestInfo: TIdHTTPRequestInfo; T_Test_HttpServer: variant; T_Test: variant; T_Test_Login: variant; # ... # procedure Test_Prozedur(Stream:TStringStream); var SQL: String; rs: variant; begin ####### SQL ABFRAGE FUNKTIONIERT NICHT ####### SQL := 'Select * From T_Test_Tabelle'; rs := db.OpenRecordset(SQL, db_open_dynaset); rs.findfirst := 'ID_Test_Login = test'; rs.edit; rs.Bemerkung.value := 'geänderte Daten'; rs.update; ####### DIESE ABFRAGE HINGEGEN SCHON ######## if not (T_Test_Tabelle.eof and T_Test_Tabelle.bof) then begin T_Test_Tabelle.movefirst; while not T_Test_Tabelle.eof do begin T_Test_Login.seek('=', T_Test_Tabelle.fields[1].value); if not T_Test_Login.nomatch then begin Stream.WriteString('[url="' + requestinfo.Document + '?login=' + ToString(T_Test_Login.fields[0].value) + '"]' + ToString(T_Test_Login.fields[3].value) + '[/url]'); T_Test_Login.movenext; end; T_Test_Tabelle.movenext; end; end; procedure TForm1.FormCreate(Sender: TObject); begin try dbengine := CreateOleObject('DAO.DBEngine.36'); except dbengine := CreateOleObject('DAO.DBEngine.351'); end; Workspace := dbengine.CreateWorkspace('', 'Admin', '', 2); db := workspace.opendatabase('D:\Pfad\test.mdb); T_Test_HttpServer := db.openrecordset('T_Test_HttpServer', 1); T_Test := db.openrecordset('T_Test_Tabelle', 1); T_Test.Index := 'ID_Test_Tabelle'; T_Test_Login := db.openrecordset('T_Test_Tabelle', 1); T_Test_Login.Index := 'ID_Test_User'; end; # ... # Die zweite markierte Datenbank Abfrage funktioniert, ich würde nur viel lieber mit SLQ Statements arbeiten, weil ich mich da ein bisel besser auskenne (grundsätzlich jedoch absoluter newbie, delphi seit paar tagen gesehen) Die erste SQL Abfrage (markiert im Code) funktioniert halt nicht, obwohl ich, glaube ich, zur Datenbank connected bin, muss doch, wieso funktioniert denn die andere Abfrage sonst? Kann mir jemand weiterhelfen, wäre super nett! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 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-2025 by Thomas Breitkreuz