AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wie kann ich mit SQL und DAO Engine auf Access zugreifen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich mit SQL und DAO Engine auf Access zugreifen?

Ein Thema von FlatG · begonnen am 31. Jan 2003
Antwort Antwort
FlatG

Registriert seit: 31. Jan 2003
21 Beiträge
 
Delphi 5 Professional
 
#1

Wie kann ich mit SQL und DAO Engine auf Access zugreifen?

  Alt 31. Jan 2003, 10:18
Ich habe eine Access Datenbank und in Delphi einen fertigen HTTP Server, der nun über DAO auf die besagte Access Datenbank zugreifen soll

Code:
# ... #

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;

# ... #
Bei # ... # habe ich Code ausgelassen

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!
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:21 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