Einzelnen Beitrag anzeigen

Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#1

Absolute Database - Memo Text ?

  Alt 3. Feb 2009, 19:59
Datenbank: Absolute Database • Version: ? • Zugriff über: ?
Hallo Leute !
Ich hab ehrlich gesagt keinen Blassen von Datenbanken deshalb hab ich mir
einmal ein Beispiel aus dem net gezogen aber das hilft mir nicht wirklich weiter.
Könnte mir jemand der sich mit Absolute Database auskennt erklären wie ich zu den Edits ein Memotext speichern und auslesen kann.
Hier der Quelltext - Datei anbei.
Delphi-Quellcode:
unit Unit_main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Db, ABSMain, Grids, DBGrids, Mask, DBCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    ABSDatabase1: TABSDatabase;
    ABSTable1: TABSTable;
    ABSQuery1: TABSQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit14: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    DBEdit19: TDBEdit;
    DBEdit20: TDBEdit;
    DBEdit21: TDBEdit;
    DBEdit22: TDBEdit;
    DBEdit23: TDBEdit;
    DBEdit24: TDBEdit;
    DBEdit25: TDBEdit;
    DBEdit26: TDBEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Button2: TButton;
    DBNavigator1: TDBNavigator;
    Button1: TButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ABSQuery1BeforeInsert(DataSet: TDataSet);
    procedure FormShow(Sender: TObject);
    procedure DBGrid1TitleClick(Column: TColumn);
  private
    { Private-Deklarationen }
    pw_ok : boolean;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ABSQuery1.Close;
  if ABSDatabase1.Connected then ABSDatabase1.Connected := false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  groupbox1.Visible := not groupbox1.Visible;
  if groupbox1.Visible then
  begin
   Button2.Caption := 'Liste zeigen';
   DBGrid1.visible := false;
  end else
  begin
   Button2.Caption := 'Eingabe zeigen';
   DBGrid1.visible := true;
  end
end;

procedure TForm1.FormCreate(Sender: TObject);
var vorhanden : boolean;

begin
  PW_OK := false;
  DBGrid1.Visible := false;
  GroupBox1.visible := true;
  Button2.caption := 'Liste zeigen';
  ABSDatabase1.DatabaseName := 'DB'; // unique name used further to identify db
  ABSDatabase1.DatabaseFileName := ExtractFilepath(Paramstr(0))+'mydata.hp';
  if (not ABSDatabase1.Exists) then vorhanden := false
  else vorhanden := true;

 if (not vorhanden) then
 begin
   ShowMessage('Es wurde keine Datenbankdatei '+ExtractFilepath(Paramstr(0))+'mydata.hp gefunden.'+#10+
               'Neue Datei wird angelegt');
   ABSDatabase1.Password := inputbox('Passwort','erst einmal ein Passwort vergeben:','')
 end
 else
 ABSDatabase1.Password := inputbox('Passwort','Passwort:','');

 if length(ABSDatabase1.Password) < 3 then
 begin
  ShowMessage('Passwort muss mindestens 3 Zeichen enthalten');
  PW_OK := false;
 end else PW_OK := true;

 if vorhanden AND PW_OK then
 begin
  try
    ABSDatabase1.Connected := true;
  except
    ShowMessage('netter Versuch');
    if (not ABSDatabase1.Connected) then
    Application.Terminate;
  end;
 end;

 if (not vorhanden) and PW_OK then
 begin
   ABSDatabase1.CreateDatabase;
   ABSDatabase1.Connected := true;
   // Tabelle anlegen begin
  with ABSTable1 do
  begin
    Tablename := 'daten';
    Databasename := 'DB';
    with FieldDefs do
    begin
      Clear;
      Add('EmpNo',ftAutoInc,0,False);
      Add('Bezeichnung',ftString,100,False);
      Add('Firma',ftString,50,False);
      Add('Telefonnummer',ftString,50,False);
      Add('Mobilnummer',ftString,50,False);
      Add('Ort',ftString,50,False);
      Add('PLZ',ftString,50,False);
      Add('Strasse',ftString,50,False);
      Add('Postfach',ftString,50,False);
      Add('Ansprechperson',ftString,50,False);
      Add('Kontonummer',ftString,50,False);
      Add('BLZ',ftString,50,False);
      Add('Emailadresse',ftString,50,False);
      Add('Webseite',ftString,50,False);

      Add('Kundennummer',ftString,50,False);
      Add('Zugangsname',ftString,50,False);
      Add('Passwort',ftString,50,False);
      Add('Vetragsbeginn',ftDate,0,False);
      Add('Vertragsende',ftDate,0,False);
      Add('Kündigungstermin',ftDate,0,False);
      Add('gekündigt',ftDate,0,False);
      Add('Kündigungsbestätigung',ftDate,0,False);
      Add('Vertragsnummer',ftString,50,False);
      Add('Handynummer',ftString,50,False);
      Add('Kosten_monatlich',ftCurrency,0,False);
      Add('Kosten_vierteljährlich',ftCurrency,0,False);
      Add('Kosten_jährlich',ftCurrency,0,False);

    end;
  end;
  with ABSTable1 do
    if not Exists then
      CreateTable;
   // Tabelle anlegen end
 end; // if not vorhanden

 ABSQuery1.DatabaseName := 'DB';
 ABSQuery1.SQL.Text := 'select * from daten order by Bezeichnung asc';
 ABSQuery1.Open;
 ABSQuery1.ReadOnly := false;
 ABSQuery1.RequestLive := true;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  close;
end;

procedure TForm1.ABSQuery1BeforeInsert(DataSet: TDataSet);
begin
  if groupbox1.Visible then DBEdit1.SetFocus;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  if (not PW_OK) then close;
end;

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
 ABSQuery1.close;
 if pos('asc',ABSQuery1.SQL.Text) > 0 then
   ABSQuery1.SQL.Text := 'select * from daten order by '+Column.Title.Caption+' desc'
 else
   ABSQuery1.SQL.Text := 'select * from daten order by '+Column.Title.Caption+' asc';
 ABSQuery1.Open;
  // ShowMessage(ABSQuery1.SQL.Text);
end;

end.
Angehängte Dateien
Dateityp: zip mydata_126.zip (619,2 KB, 10x aufgerufen)
Blackheart
  Mit Zitat antworten Zitat