Thema: Delphi Absolut Database

Einzelnen Beitrag anzeigen

sexmagic

Registriert seit: 16. Sep 2006
56 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Absolut Database

  Alt 4. Mär 2007, 11:35
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
  Mit Zitat antworten Zitat