![]() |
Datenbank: Firebird • Version: 1.52 • Zugriff über: Ado.net
Etwas in einer Tabelle/Dataset ändern
Ich erstelle meine Datenbank nu per Hand und nicht über die IDE, da die häufig etwas vergisst (zu löschen oder zu schreiben). Bis zum Anzeigen bin ich schon gekommen. Jedoch weiß ich nicht wie ich nun meine Daten verändern, löschen neue Datensätze hinzufügen kann.
So sieht meine Beispieltabelle aus: Kunden: ID Integer not Null primary key Name Char(80) Vorname Char(80) ... So mache ich es:
Delphi-Quellcode:
Dann werden die Elemente noch verbunden.
fbCon := FbConnectionStringBuilder.Create;
fbcon.UserID := 'SYSDBA'; fbcon.Password := 'masterkey'; fbcon.Database := Application.StartUpPath + '\DATENBANK.FDB'; fbcon.ServerType := 1; // embedded Firebird Con. fbcon.Charset := 'ISO8859_1'; fbcon.Dialect := 3; Embetted := FBconnection.Create(fbCon.ToString); fbcon.ServerType := 0; Server := FBconnection.Create(fbCon.ToString); Daten := DataSet.Create('Datenbank'); if typ then begin Con := Server; end else begin Con := Embetted; end; daKD := FBDataAdapter.Create('Select * from Kunden', con); dtkd := Datatable.Create('Kunden'); Daten.Tables.Add(dtkd); daTalente.Fill(dtkd);
Delphi-Quellcode:
Doch ein DataGrid1.DataSource := Daten;
Delphi-Quellcode:
Bringt nur das die anderen verbundenen Elemente die Änderungen auch anzeigen. Sobald ich das Programm neu starte, sind die änderungen verfallen, bzw wurden gar nicht in der Datenbank hinterlegt.
Daten.AcceptChanges;
Wie gehe ich nu vor? |
Re: Etwas in einer Tabelle/Dataset ändern
Mehr infos.
Ein BtClick führt die Proceure Speichern aus.
Delphi-Quellcode:
So erstelle ich die Conn
procedure TDatenbank.speichern;
var Txn : FBTransaction; comm : fbcommand; begin con.Open(); txn := con.BeginTransaction; Daten.AcceptChanges; daTalente.Update(Daten, 'Talente'); txn.Commit(); con.Close(); end;
Delphi-Quellcode:
Und so sieht die Procedure ErstelleTalente aus
procedure TDatenbank.createdb(typ : boolean);
begin ErstelleConnections; Daten := DataSet.Create('Datenbank'); if typ then begin Con := Server; end else begin Con := Embetted; end; ErstelleTalente; end; procedure TDatenbank.ErstelleConnections; var ConnStr: string; begin fbCon := FbConnectionStringBuilder.Create; fbcon.UserID := 'SYSDBA'; fbcon.Password := 'masterkey'; fbcon.Database := Application.StartUpPath + '\DATENBANK.FDB'; fbcon.ServerType := 1; // embedded Firebird Con. fbcon.Dialect := 3; Embetted := FBconnection.Create(fbCon.ToString); fbcon.ServerType := 0; Server := FBconnection.Create(fbCon.ToString); end;
Delphi-Quellcode:
Wie gehe ich nun vor, wenn die im DataSet vorhandenen Daten geschrieben werdne sollen?
procedure TDatenbank.ErstelleTalente;
var Insert : String; comm : FBCommand; begin daTalente := FBDataAdapter.Create('Select * from Talente', con); builder := FBCommandBuilder.Create(daTalente); dtTalente := Datatable.Create('Talente'); Daten.Tables.Add(dtTalente); daTalente.Fill(dtTalente); end; |
Re: Etwas in einer Tabelle/Dataset ändern
*push*
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 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-2025 by Thomas Breitkreuz