Entwickler-Ecke
Datenbanken - einen Access-db-Datensatz hinzufügen, ohne BDE
MathiasH - Fr 14.06.02 19:06
Titel: einen Access-db-Datensatz hinzufügen, ohne BDE
Hi Leute
Ich braüchte für ein simples Datenbankprogramm eine Möglichkeitin eine Access-Tabbelle einen Datensatz hinzuzufügen, ohne dabei auf "große" Dinge wie die BDE zurückgreifen zu müssen(Programm < Diskette!!!)
Mathias
Alfons-G - Fr 14.06.02 20:03
Es gibt z.B. die KaDAO-Komponenten (z.B. bei Torry), mit denen man ohne BDE auf Access zugreifen kann. Bei Torry & Co findest Du auch weitere Access-Zugriffs-Kompos.
Ob das resultierende Programm auf 'ne Diskette passt, weiss ich allerdings auch nicht.
Wenn der Anwender ohnehin Access (oder Excel mit Jet-Engine) installiert hat, wäre auch ein Zugriff über OLE-Automation möglich.
;)
MathiasH - Sa 15.06.02 09:59
Der Anwender hat auf jeden Fall Access( wenn's sein muss auch laufend)!
aber wie geht das dann mit dem OLE-Zugriff in die DB?
Mathias
Klabautermann - So 16.06.02 21:23
Hallo,
ich habe kürzlich mir ADO auf bestehende Access Datrenbanken zugegrifen. Klapt gut und du kannst alles machen außer neue Datenbanken anlegen (denn du must dich mir ADO irgendwo einloggen um arbeiten zu können).
Ich verwende die Deersoft Komponenten, welche du bei den üblichen verdächtigen wie z.B. auf der
DSP [
http://sunsite.informatik.rwth-aachen.de/delphi] finden kannst.
Die verbindung baust du über einen Conection String auf, welcher für Access so ausehen kann:
Quelltext
1:
| 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source={PfadUndDateinameMeinerAdbDatei};Persist Security Info=False' |
Ich arbeite ausschließlich per SQL auf dieser Access Datenbank und verwende überwiegend CREATE TABLE und INSERT VALUES.
Gruß
Klabautermann
MathiasH - Di 18.06.02 17:27
@klabautermann
und dann? wie füge ich jetzt den datensatz hinzu?
(eine funktion regtnex liefert den jeweils folgenden/ersten Eigenschaftswert)
Mathias
Klabautermann - Di 18.06.02 21:52
MathiasH hat folgendes geschrieben: |
@klabautermann
und dann? wie füge ich jetzt den datensatz hinzu?
|
Wie gesagt, ich verwende SQL. Das grund Query sieht so aus:
Quelltext
1: 2:
| INSERT INTO tablename [(columname1, columname2, ...)] VALUES (valColum1, valColum2, ...) |
Um das grundgerüßt nicht immer neu eingeben zu müssen habe ich dieses in eine funktion gekapzelt:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function TDMaccess.InsertValues(aTable, aValues: STRING): BOOLEAN; begin RESULT := TRUE; qWork.Close; qWork.SQL.Clear; qWork.SQL.Add('INSERT INTO ' + aTable); qWork.SQL.Add('VALUES ('+ aValues + ')'); TRY qWork.ExecSQL; EXCEPT Result := FALSE; END; // TRY EXCEPT end; // Insert Values |
Ich hoffe das hilft dir erstmal weiter.
Gruß
Klabautermann
MathiasH - Do 20.06.02 15:08
und was brauch ich da für kompos, wie werden die vernetzt usw?
auf meinem formular hab ich jetzt verbunden
DataSoure;SQLTable;SQLConnection
und im DBexplorer werde ich immer nach ominösen Passwörtern gefragt(in IBLocal)
PS.: ich hab D.P.6
Klabautermann - Do 20.06.02 15:49
Zitat: |
DataSoure;SQLTable;SQLConnection |
Moment. Wenn du SQLTable und SQLConnection verwendest arbeitest du mit dbExpress, nicht mit BDE und was hat IBLocal mit der sache zu tun? Du willst doch auf eine Access Tabelle zugreifen?
Ob und wie du mit DBExpress auf Access zugreifen kannst weiß ich nicht. Wenn du ADO verwenden möchtest solltest du ADO Komponenten verwenden (wenn du nicht über die ensprechende API arbeiten möchtest). Ich verwende die Komponenten von
Deersoft [
http://www3.telus.net/dukai/deersoft/main.html].
Ferner mus ein Access ADO Treiber installiert sein. Meines wissens nach ist der bei neueren Windows Versionen von Haus aus dabei.
Bei mir war er vorhanden obwohl ich kein Access auf dem Rechner hatte.
Gruß
Klabautermann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!