Autor |
Beitrag |
MathiasH
Beiträge: 699
WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
|
Verfasst: Fr 14.06.02 19:06
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
_________________ "Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
|
|
Alfons-G
Beiträge: 307
Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
|
Verfasst: 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.
_________________ Alfons Grünewald
|
|
MathiasH
Beiträge: 699
WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
|
Verfasst: 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
_________________ "Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
|
|
Klabautermann
Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: 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 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
Beiträge: 699
WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
|
Verfasst: 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
_________________ "Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
|
|
Klabautermann
Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: 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
Beiträge: 699
WinXP, Win98SE, Debian, Win95
D5 Stand, D6 Prof
|
Verfasst: 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
_________________ "Viel von sich reden, kann auch ein Mittel sein, sich zu verbergen."
Friedrich Nietzsche
|
|
Klabautermann
Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: 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.
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
|
|