AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prism Datenbankzugriff mit Delphi Prism auf Firebird

Datenbankzugriff mit Delphi Prism auf Firebird

Ein Thema von RWarnecke · begonnen am 18. Jul 2010 · letzter Beitrag vom 20. Jul 2010
Antwort Antwort
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Datenbankzugriff mit Delphi Prism auf Firebird

  Alt 20. Jul 2010, 07:46
Hi,

nur zur Sicherheit: <ip-adresse> ist ein Platzhalter von dir, den du mit der korrekten IP-Adresse belegt hast und nur für das Posting hier reingemacht hast?

GRüße
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.643 Beiträge
 
#2

AW: Datenbankzugriff mit Delphi Prism auf Firebird

  Alt 20. Jul 2010, 08:30
Ist doch eigentlich ganz einfach:
Referenz auf die FirebirdSql.Data.Firebird.dll in deinem Projekt hinzufügen (Rechtsklick drauf, Referenz hinzufügen).

Delphi-Quellcode:
uses FirebirdSql.Data.Firebird;
...

method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
var
  conn: FbConnection;
  cmd: FbCommand;
begin
   conn := new FbConnection('User=SYSDBA;Password=masterkey;'
      + 'Database=<ip-adresse>:C:\Firebird\TestDB.FDB;'
      + 'DataSource=<ip-adresse>;Charset=NONE;');

   conn.Open();
   var trans = conn.BeginTransaction(); // begin transaction liefert ein transaction objekt zurück, das muss man sich merken!
   cmd := conn.CreateCommand(); // am besten command über connection erzeugen, dann vergisst man nie die connection dem command zuzuweisen
   cmd.CommandText := ''; // NIE string zusammenbauen.. IMMER parametrisierte queries benutzen!
   cmd.Parameters.Add(new FbCommandParameter(Name := 'Paramname'; Value := 'value'));
   cmd.Execute();
   trans.Commit();
end;
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: Datenbankzugriff mit Delphi Prism auf Firebird

  Alt 20. Jul 2010, 09:20
nur zur Sicherheit: <ip-adresse> ist ein Platzhalter von dir, den du mit der korrekten IP-Adresse belegt hast und nur für das Posting hier reingemacht hast?
Ja, es ist nur ein Platzhalter hier für's Posting.

Hallo Sebastian,

danke für Dein Beispiel. Ich bin gerade unterwegs und werde Dein Beispiel heute Abend ausprobieren. Ich glaube, ich weiß schon, wo ich den Fehler gemacht habe. Eine Frage habe ich noch zu dem hier :
Referenz auf die FirebirdSql.Data.Firebird.dll in deinem Projekt hinzufügen (Rechtsklick drauf, Referenz hinzufügen).
Wie bekomme ich den Menüpunkt ? Das Wort FbConnection makieren und dann rechte Maustaste auf die makierten Text ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.643 Beiträge
 
#4

AW: Datenbankzugriff mit Delphi Prism auf Firebird

  Alt 20. Jul 2010, 11:57
Im Solution-Explorer (Projektverwaltung) gibt es einen Order 'Referenzen'. Im Prinzip ist das ne Liste von allen .dll's (Assemblies) die vom Projekt verwendet werden (statisches Linken).

Dort den Rechtsklick drauf, und dort das Firebird-Assembly hinzufügen. Dann klappts auch mit der Uses
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

AW: Datenbankzugriff mit Delphi Prism auf Firebird

  Alt 20. Jul 2010, 12:00
Hallo Sebastian,

danke für Deine Antwort. Werde es heute Abend mal ausprobieren. Wenn ich noch Fragen oder Probleme habe, melde ich mich heute Abend wieder.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

AW: Datenbankzugriff mit Delphi Prism auf Firebird

  Alt 20. Jul 2010, 20:01
Hallo Sebastian,

ich habe jetzt mal Dein Beispiel versucht nachzustellen. Ich musste die folgenden Sachen um ändern, damit mir VS das Projekt compilieren konnte :
  • Aus FirebirdSQL.Data.Firebird wurde FirebirdSQL.Data.FirebirdClient
  • Die Zeile mit den Parametern habe ich ganz entfernt.
  • cmd.Execute(); hat der Compiler bei mir nicht gefunden.

Ich habe mir den .NET Provider 2.5.2 von der Firebird-Seite heruntergeladen und dann die Referenze so eingefügt, wie Du es beschrieben hast. Mit diesem Sourcecode habe ich es jetzt hinbekommen :

Delphi-Quellcode:
uses
  FirebirdSql.Data.FirebirdClient;

{...}

method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
var
  cmd: FbCommand;
  conn: FbConnection;
  SQLCommandText: String;
begin
  conn := new FbConnection('User ID=sysdba;Password=masterkey;' +
              'Database=<ip-adresse>:C:\\Firebird\\TestDB.FDB; ' +
              'DataSource=<ip-adresse>;Charset=NONE;');
  SQLCommandText := " INSERT into Details Values ('" + NameBox.Text + "'," + Int32.Parse(AgeBox.Text) + "," + "'" + SexBox.Text + "')";

  conn.Open();
  var trans := conn.BeginTransaction();
  cmd := new FbCommand(SQLCommandText, conn, trans);
  cmd.ExecuteNonQuery;
  trans.Commit;
  conn.Close();
end;
Nur Dein Teil mit den Parametern funktioniert nicht. Könntest Du mir das bitte nochmal erklären, wie das mit den Parametern funktioniert ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.876 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Datenbankzugriff mit Delphi Prism auf Firebird

  Alt 20. Jul 2010, 20:10
INSERT into Details( name, Age, sex) Values ( :name, :Age, :sex);
Delphi-Quellcode:
cmd.Parameters.Add(new FbCommandParameter(Name := 'name'; Value := NameBox.Text));
...
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

AW: Datenbankzugriff mit Delphi Prism auf Firebird

  Alt 20. Jul 2010, 20:14
Hallo Markus,

bei mir sagt er aber, dass es FbCommandParameter nicht gibt. Habe ich da etwas vergessen einzubinden ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:23 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