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!
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:
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;
Und genau hier bekomme ich die
Access Violation:
ABSTable1.FieldByName('name').AsString := Edit1.Text;
Irgendwie blick ich doch noch nicht so durch
Vielleicht kann mir einer noch helfen das hinzukriegen?
Danke