Einzelnen Beitrag anzeigen

LuCSteR

Registriert seit: 16. Sep 2005
168 Beiträge
 
#27

Re: Datenmanipulation (ODBC/Access)

  Alt 12. Feb 2009, 14:21
Iwie führt das hier in die falsche Richtung. Aber trotzdem sag ich kurz noch dazu, das größte Problem von lazarus ist, das es keine eigene Hilfe besitzt.

@KHH:

Verstehe die Intention deiner Aussage nicht aber gut.

Zum Thema:
Folgend sind alle Schritte nochmal aufgeführt, die ich getätigt habe, um Abfragen erfolgreich durchführen zu können.

In den Systemsteuerungen --> Verwaltung --> Datenquellen (ODBC): dort eine "Benutzer DSN" hinzugefügt mit dem Microsoft Access Treiber (.mdb)

- ODBCConnection1
- SQLTransaction1
- Datasource1
- SQLQuery1
- DBGrid1
auf die Form gezogen.


Dann folgendes ausgeführt:
- Eigenschaft von ODBCConnection1.Transaction auf die SQLTransaction1 setzen
- Eigenschaft von SQLQuery1.Database auf ODBCConnection1 setzen
- Eigenschaft von Datasource1.Dataset auf SQLQuery1 setzen
- Eigenschaft von DBGrid1.Datasource auf Datasource1 setzen
- Eigenschaft von SQLQuery1.SQL ein SQL-Kommando eintragen (Bsp. Select * From MEINE_TAB)


Code sieht dann wie folgt aus:
Delphi-Quellcode:
{onFormCreate}
ODBCConnection1.DatabaseName:='test1'; //Benutzer DSN Name
ODBCConnection1.Connected:=true;
SQLQuery1.UsePrimaryKeyAsKey:=false;
SQLQuery1.Active:=true; //erster String wird direkt ausgeführt
 
{onButtonClick}
SQLQuery1.Active:=false;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('SELECT Bezeichnung FROM Entgeltdatei_SIA');
SQLQuery1.Active:=true;
 
{onFormClose}
ODBCConnection1.Connected:=false;
Im onButtonClick habe ich rumprobiert, Daten zu manipulieren.
Bspw. so:
Delphi-Quellcode:
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('Update Entgeltdatei_SIA Set Bezeichnung='+QuotedStr('TEST')+' Where Bezeichnung='+QuotedStr('Unfrei'));
SQLQuery1.ExecSQL;
SQLQuery1.ApplyUpdates;
SQLTransaction1.Commit;
oder so:
Delphi-Quellcode:
SQLQuery1.Close;
ODBCConnection1.ExecuteDirect'Update Entgeltdatei_SIA Set Bezeichnung='+QuotedStr('TEST')+' Where Bezeichnung='+QuotedStr('Unfrei'));
SQLQuery1.ApplyUpdates;
SQLTransaction1.Commit;
Hat alles nichts genützt.
  Mit Zitat antworten Zitat