Einzelnen Beitrag anzeigen

OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Position der Labels unverständlich?

  Alt 27. Feb 2013, 22:00
Delphi-Quellcode:
procedure TForm1.DBerstellen1Click(Sender: TObject);
var dbFile: String; // DB Verzeichniss
    db: TSQLiteDatabase; // Klasse
    sSQL, sSQL1, sSQL2, sSQL3, sSQL4, sSQL5, sSQL6: String;
begin
  dbFile := ExtractFilePath(ParamStr(0)) + 'Database.db';
  db := TSQLiteDatabase.Create(dbFile);
  try

    // Tabelle entleiher wird, sofern sie existiert, gelöscht
    if db.TableExists('entleiher') then
    begin
      sSQL1 := 'DROP TABLE entleiher';
      db.execSQL(sSQL1);
    end;

    // Tabelle author wird, sofern sie existiert, gelöscht
    if db.TableExists('author') then
    begin
      sSQL2 := 'DROP TABLE author';
      db.execSQL(sSQL2);
    end;

    // Tabelle category wird, sofern sie existiert, gelöscht
    if db.TableExists('category') then
    begin
      sSQL3 := 'DROP TABLE category';
      db.execSQL(sSQL3);
    end;

    // Tabelle publisher wird, sofern sie existiert, gelöscht
    if db.TableExists('publisher') then
    begin
      sSQL4 := 'DROP TABLE publisher';
      db.execSQL(sSQL4);
    end;

    // Tabelle place wird, sofern sie existiert, gelöscht
    if db.TableExists('place') then
    begin
      sSQL5 := 'DROP TABLE place';
      db.execSQL(sSQL5);
    end;

    // Tabelle language wird, sofern sie existiert, gelöscht
    if db.TableExists('language') then
    begin
      sSQL6 := 'DROP TABLE language';
      db.execSQL(sSQL6);
    end;

    // Tabelle media wird, sofern sie existiert, gelöscht
    if db.TableExists('media') then
    begin
      sSQL := 'DROP TABLE media';
      db.execSQL(sSQL);
    end;

    // Enable foreign key constraints
    db.execSQL('PRAGMA foreign_keys = ON;');

    // Tabelle entleiher anlegen
    sSQL1 := 'CREATE TABLE entleiher ([id_entleiher] INTEGER PRIMARY KEY NOT NULL,';
    sSQL1 := sSQL1 + '[efirstname] VARCHAR (255) NOT NULL,';
    sSQL1 := sSQL1 + '[elastname] VARCHAR (255) NOT NULL,';
    sSQL1 := sSQL1 + '[telefon] VARCHAR (255),';
    sSQL1 := sSQL1 + '[email] VARCHAR (255), UNIQUE(efirstname, elastname));';

    // Tabelle author anlegen
    sSQL2 := 'CREATE TABLE author ([id_author] INTEGER PRIMARY KEY NOT NULL,';
    sSQL2 := sSQL2 + '[aname] VARCHAR (255) NOT NULL, UNIQUE(aname));';

    // Tabelle category anlegen
    sSQL3 := 'CREATE TABLE category ([id_category] INTEGER PRIMARY KEY NOT NULL,';
    sSQL3 := sSQL3 + '[catname] VARCHAR (255) NOT NULL, UNIQUE(catname));';

    // Tabelle publisher anlegen
    sSQL4 := 'CREATE TABLE publisher ([id_publisher] INTEGER PRIMARY KEY NOT NULL,';
    sSQL4 := sSQL4 + '[pubname] VARCHAR (255) NOT NULL, UNIQUE(pubname));';

    // Tabelle place anlegen
    sSQL5 := 'CREATE TABLE place ([id_place] INTEGER PRIMARY KEY NOT NULL,';
    sSQL5 := sSQL5 + '[planame] VARCHAR (255) NOT NULL, UNIQUE(planame));';

    // Tabelle language anlegen
    sSQL6 := 'CREATE TABLE language ([id_language] INTEGER PRIMARY KEY NOT NULL,';
    sSQL6 := sSQL6 + '[langname] VARCHAR (255) NOT NULL, UNIQUE(langname));';

    // Tabelle media wird angelegt
    sSQL := 'CREATE TABLE media ([id_media] INTEGER PRIMARY KEY NOT NULL,';
    sSQL := sSQL + '[mediatitle] VARCHAR (255) NOT NULL,';
    sSQL := sSQL + '[description] VARCHAR (255),';
    sSQL := sSQL + '[status] INTEGER NOT NULL,';
    sSQL := sSQL + '[isbn] VARCHAR (255),';
    sSQL := sSQL + '[edition] INTEGER,';
    sSQL := sSQL + '[publicationyear] INTEGER,';
    sSQL := sSQL + '[fk_publisher_id] INTEGER,';
    sSQL := sSQL + '[fk_place_id] INTEGER,';
    sSQL := sSQL + '[fk_category_id] INTEGER NOT NULL,';
    sSQL := sSQL + '[fk_language_id] INTEGER NOT NULL,';
    sSQL := sSQL + '[fk_author_id] INTEGER,';
    sSQL := sSQL + '[fk_entleiher_id] INTEGER,';
    sSQL := sSQL + 'FOREIGN KEY(fk_publisher_id) REFERENCES publisher(id_publisher) ON DELETE RESTRICT,';
    sSQL := sSQL + 'FOREIGN KEY(fk_place_id) REFERENCES place(id_place) ON DELETE RESTRICT,';
    sSQL := sSQL + 'FOREIGN KEY(fk_category_id) REFERENCES category(id_category) ON DELETE RESTRICT,';
    sSQL := sSQL + 'FOREIGN KEY(fk_language_id) REFERENCES language(id_language) ON DELETE RESTRICT,';
    sSQL := sSQL + 'FOREIGN KEY(fk_author_id) REFERENCES author(id_author) ON DELETE RESTRICT,';
    sSQL := sSQL + 'FOREIGN KEY(fk_entleiher_id) REFERENCES entleiher(id_entleiher) ON DELETE RESTRICT);';

    // Create Befehl wird ausgeführt
    db.execSQL(sSQL1);
    db.execSQL(sSQL2);
    db.execSQL(sSQL3);
    db.execSQL(sSQL4);
    db.execSQL(sSQL5);
    db.execSQL(sSQL6);
    db.execSQL(sSQL);

    // Transaktion beginnt
    db.BeginTransaction;

    // entleiher Tabelle füllen
    sSQL1 := 'INSERT INTO entleiher(efirstname, elastname, telefon, email)';
    sSQL1 := sSQL1 + 'VALUES ("Alexander", "Bayer", "0123-567890", "alex@bayer_xyz.de");';

    // author Tabelle füllen
    sSQL2 := 'INSERT INTO author(aname)';
    sSQL2 := sSQL2 + 'VALUES ("Dr. Werner Gimp");';

    // category Tabelle füllen
    sSQL3 := 'INSERT INTO category(catname)';
    sSQL3 := sSQL3 + 'VALUES ("Buch");';

    // publisher Tabelle füllen
    sSQL4 := 'INSERT INTO publisher(pubname)';
    sSQL4 := sSQL4 + 'VALUES ("CLW");';

    // place Tabelle füllen
    sSQL5 := 'INSERT INTO place(planame)';
    sSQL5 := sSQL5 + 'VALUES ("Rof");';

    // language Tabelle füllen
    sSQL6 := 'INSERT INTO language(langname)';
    sSQL6 := sSQL6 + 'VALUES ("Deutsch");';

    // media Tabelle füllen
    sSQL := 'INSERT INTO media(fk_author_id, mediatitle, description, status, isbn,';
    sSQL := sSQL + 'edition, publicationyear, fk_publisher_id, fk_place_id, fk_category_id, fk_language_id, fk_author_id, fk_entleiher_id) VALUES (1, "Java", "Das ist die Besch.", 1,';
    sSQL := sSQL + '"3-3434-78", 3, 2012, 1, 1, 1, 1, 1, 1);';

    // Insert Befehl wird ausgeführt
    db.ExecSQL(sSQL1);
    db.ExecSQL(sSQL2);
    db.ExecSQL(sSQL3);
    db.ExecSQL(sSQL4);
    db.ExecSQL(sSQL5);
    db.ExecSQL(sSQL6);
    db.ExecSQL(sSQL);

    // Transaktion endet
    db.Commit;

  finally
    db.Free;
  end;

  ShowMedia();
end;
  Mit Zitat antworten Zitat