![]() |
Datenbank: ABS • Version: 5.08 • Zugriff über: ABS
Absolut Database
Hallo,
ich habe eine Vollversion von "Absolut Database", nur leider komme ich mit der Dokumentation dieser Komponenten garnicht klar, ich verstehe nicht welche Teile von der Komponenten nun wirklich benötigt werden um Inserts und Selects durchzuführen. Folgendes hab ich vor: Ich möchte ein Memo auslesen (zeilenweise), die Einträge in den Zeilen möchte ich anschliessend in die Datanbank schreiben. Anschliessend möchte ich gerne eine Liste erstellen die eine Art Hyperlinks darstellen mit einer Spalte aus der DB, bei einem klick auf ein Element der Liste würde ich dann gerne ein neues Form oder ein anderes Tab laden und dort die Werte zu dem eintrag auf einem Panel darstellen. Da ich bisher ausschliesslich PHP&MySQL programmiert hab, denke ich total anders :( Dies war nur mein Vorhaben, ich wäre schon glücklich wenn mir jemand dabei helfen könnte ein Konstrukt zu erstellen wie man Daten in eine ABS schreibt und diese dann wieder ausliest in ein DB Grid oder sonst in ne Liste. Es geht nur um den Ablauf. Gemacht hab ich bis jetzt folgendes: -Eine Datenbank erstellt mit dem DB_Manager der bei der Komponente dabei war. -ABSDatabase, ABSTable,ABSQuery aufs Form gezogen -Dann hab ich in den Komponenten die DatabaseFilename und Databasename angepasst Ist nicht viel das ich gemacht habe aber nun weis ich nicht mehr weiter, aus den Demos werde ich nicht schlau einmal wird ABSQuery verwendet einmal wird ABSTable verwendet und ich weis nun nicht wie ich die Daten rein bekomme. Leider gibt es so gut wie keine Tutorials für ABS und in den gängigen Delphi Foren sind auch so gut wie keine Threads zu finden. Kann mir jemand vielleicht helfen den Ablauf und die Vorgehensweise zu verstehen? (Beispielcode an dem man erörtern könnte wäre sehr hilfreich). Ich würde mich sehr über Hilfe freuen, da ich denke wenn mans einmal kapiert hat kann man sich selber helfen! ;) Danke im voraus. |
Re: Absolut Database
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
eine Einführung in den Umgang mit den Komponenten erhältst du eigentlich schon, wenn du die Beispiele im Online-Manual nachvollziehst: ![]() Wenn dabei Probleme auftreten, dann kannst du viel konkretere Fragen stellen. Angehängt habe ich ein kleines Demo-Programm, welches ich einmal für ein anderes Foren-Mitglied erstellt habe. Wenn du ein wenig suchst, dann findest du sicher auch im Forum noch einige Zeilen Code zum Studieren. Freundliche Grüße |
Re: Absolut Database
Suuuuper das is genau das was ich gesucht habe, das is alles drin und noch einiges mehr wofür ich mir jetzt erstmal nen Thread sparen kann.
Vielen vielen Dank marabu, ich hab zwar noch nicht alles verstanden, war gestern aufm Blitz :) aber ich freue mich schon aufs durcharbeiten, sollten sich noch Fragen ergeben meld ich mich wieder. Sehr geiles Programm, da is wirklich alles drin was man bei einem einfachen datenbankbasierten Proggi benötigt. Nochmals herzlichen dank das du dir die Mühe gemacht hast. Schönen Tag noch! :thumb: EDIT: So da bin ich schon wieder mit der ersten Frage. Ich hab nun versucht das durchzugehen aber icch bekomme immer eine Access Violation bei der Zeile die was in die DB Schreiben soll. Hier mal der gesamte Code:
Delphi-Quellcode:
Und genau hier bekomme ich die Access Violation: ABSTable1.FieldByName('name').AsString := Edit1.Text;
var
Form1: TForm1; const C_DBNAME = 'ABSTest'; C_TABLENAME = 'test'; implementation {$R *.dfm} //DB erstellen procedure TForm1.Button1Click(Sender: TObject); begin //DB erstellen ABSDatabase1.DatabaseFileName := ExtractFilePath(Paramstr(0)) + C_DBNAME + '.abs'; ABSDatabase1.DatabaseName := C_DBNAME; ABSDatabase1.CreateDatabase; ABSDatabase1.Open; //Table erstellen ABSQuery1.DatabaseName := C_DBNAME; ABSQuery1.SQL.Clear; ABSQuery1.SQL.Text := 'DROP TABLE ' + C_TABLENAME + '; ' + #10 + 'CREATE TABLE ' + C_TABLENAME + ' (' + #10 + 'id AUTOINC,' + #10 + 'name VARCHAR(50),' + #10 + 'PRIMARY KEY IndexName (id)' + #10 + ');'; ABSQuery1.ExecSQL; Memo1.Clear; Button1.Enabled := FALSE; Button2.Enabled := TRUE; end; //DB Löschen procedure TForm1.Button2Click(Sender: TObject); begin Memo1.Clear; SysUtils.DeleteFile(ExtractFilePath(Paramstr(0)) + C_DBNAME + '.abs'); if FileExists(ExtractFilePath(Paramstr(0)) + C_DBNAME + '.abs') then begin Memo1.Lines.Add('Datenbank konnte nicht gelöscht werden - ' + IntToStr(GetLastError)); Memo1.Lines.Add(ExtractFilePath(Paramstr(0)) + C_DBNAME + '.abs'); Button1.Enabled := FALSE; Button2.Enabled := TRUE; end else begin Memo1.Lines.Add('Datenbank gelöscht!'); Button1.Enabled := TRUE; Button2.Enabled := FALSE; end end; procedure TForm1.Button3Click(Sender: TObject); begin ABSTable1.Insert; ABSTable1.FieldByName('name').AsString := Edit1.Text; ABSTable1.Post; end; //Form Create procedure TForm1.FormCreate(Sender: TObject); begin ABSTable1.Name := C_TABLENAME; Memo1.Clear; Edit1.Text := ''; if FileExists(ExtractFilePath(Paramstr(0)) + C_DBNAME + '.abs') then begin Memo1.Lines.Add('Installierte Datenbank gefunden:'); Memo1.Lines.Add(ExtractFilePath(Paramstr(0)) + C_DBNAME + '.abs'); Button1.Enabled := False; Button2.Enabled := TRUE; end end; Irgendwie blick ich doch noch nicht so durch :) Vielleicht kann mir einer noch helfen das hinzukriegen? Danke |
Re: Absolut Database
Hallo,
machst du vor dem ABSTable1.Insert und ABSTable1.Post auch irgendwo ein ABSTable1.Open? Gruss Thorsten |
Re: Absolut Database
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Thorsten,
also ich hab das mal vor den Insert befehl hinzugefügt, jedoch immer noch eine Access Violation.
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin ABSTable1.Open; ABSTable1.Insert; ABSTable1.FieldByName('name').AsString := Edit1.Text; ABSTable1.Post; end; Ich habe mal mein Testprogramm angehängt. |
Re: Absolut Database
Ok, das Open ist auf jeden Fall schonmal besser.
Weist du den irgendwo ABSTable1.DatabaseName := C_DBNAME zu? Gruss Thorsten |
Re: Absolut Database
Liste der Anhänge anzeigen (Anzahl: 1)
Jo im ersten Posting sieht mans besser, aber hier nochmal, so hab ichs gemacht.
Delphi-Quellcode:
Ahh ich glaub ich hab was gefunden, ich habe ja beim Buttonclick auf Datenbank erstellen den DatabaseFilename und den DatabaseName zugewiesen, wenn die Datenbank bereits besteht wird dieser Button jedoch nicht gedrück und somit auch keine Datenbank zugewiesen :)
const
C_DBNAME = 'ABSTest'; C_TABLENAME = 'test'; Ich überdenke meine Struktur nochmla komplett is alles schwachsinn :) Meld mich nachher wieder. Danke EDIT: So ich hab das mal alles umgebaut, leider bekomme ich noch immer den selben Fehler. Ich hab echt keine AHnung was da noch falsch sein könnte, ich hab das Projekt nochmal gepackt und angehängt, vielleicht kanns sichs mal wer anschauen? |
Re: Absolut Database
Liste der Anhänge anzeigen (Anzahl: 1)
habs mal korrigiert und das DBGrid gleich eingebaut. Die Tabellennamen werden in den Komponenten zugewiesen. Lediglich der Databasefilename wird zur Laufzeit zugewiesen.
|
Re: Absolut Database
Eine Packung merci für dich!
Danke nun hab ich einiges gelernt, ich denke ich kann nun beginnen das ganze in einem Programm zu verwenden. Ihr habt mir wirklich sehr geholfen und ich bin sehr froh das es diese tolle Forum mit diesen netten Usern gibt (gibt auch andere ;) ) Danke euch allen nochmal! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 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 by Thomas Breitkreuz