AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prism Etwas in einer Tabelle/Dataset ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Etwas in einer Tabelle/Dataset ändern

Ein Thema von Taladan · begonnen am 26. Nov 2005 · letzter Beitrag vom 28. Nov 2005
Antwort Antwort
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#1

Etwas in einer Tabelle/Dataset ändern

  Alt 26. Nov 2005, 21:06
Datenbank: Firebird • Version: 1.52 • Zugriff über: Ado.net
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:
  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);
Dann werden die Elemente noch verbunden.
Delphi-Quellcode:
  
  DataGrid1.DataSource := Daten;
Doch ein
Daten.AcceptChanges; 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.
Wie gehe ich nu vor?
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Etwas in einer Tabelle/Dataset ändern

  Alt 27. Nov 2005, 17:15
Mehr infos.

Ein BtClick führt die Proceure Speichern aus.

Delphi-Quellcode:
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;
So erstelle ich die Conn
Delphi-Quellcode:
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;
Und so sieht die Procedure ErstelleTalente aus
Delphi-Quellcode:
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;
Wie gehe ich nun vor, wenn die im DataSet vorhandenen Daten geschrieben werdne sollen?
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Etwas in einer Tabelle/Dataset ändern

  Alt 28. Nov 2005, 22:02
*push*
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz