Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

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

AW: Datenbankzugriff mit Delphi Prism auf Firebird

  Alt 18. Jul 2010, 18:16
So nun nach ein paar Stunden testen mein bissher bestes Ergebnis : (es kompiliert zumindest und startet das Programm )
Delphi-Quellcode:
namespace TestFirebird;

interface

uses
  System.Drawing,
  System.Collections,
  System.Collections.Generic,
  System.Windows.Forms,
  System.ComponentModel,
  Microsoft.AnalysisServices.AdomdClient;

type
  /// <summary>
  /// Summary description for MainForm.
  /// </summary>
  MainForm = partial class(System.Windows.Forms.Form)
  private
      method button1_Click(sender: System.Object; e: System.EventArgs);
  protected
    method Dispose(disposing: Boolean); override;
  public
    constructor;
  end;

implementation

{$REGION Construction and Disposition}
constructor MainForm;
begin
  //
  // Required for Windows Form Designer support
  //
  InitializeComponent();

  //
  // TODO: Add any constructor code after InitializeComponent call
  //
end;

method MainForm.Dispose(disposing: Boolean);
begin
  if disposing then begin
    if assigned(components) then
      components.Dispose();

    //
    // TODO: Add custom disposition code here
    //
  end;
  inherited Dispose(disposing);
end;
{$ENDREGION}

method MainForm.button1_Click(sender: System.Object; e: System.EventArgs);
var
  tCon: Adomdconnection;
  tCommand: AdomdCommand;
  ConnectionString: String;
  SQLCommandText: String;
begin
  ConnectionString := "UserID=sysdba;Password=masterkey;" +
              "Database=<ip-adresse>:C:\Firebird\TestDB.FDB; " +
              "DataSource=<ip-adresse>;Charset=NONE;";
  tCon := new Adomdconnection(ConnectionString);
  tCon.Open();
  tCon.BeginTransaction();
  SQLCommandText := " INSERT into Details Values('" + NameBox.Text + "'," + Int32.Parse(AgeBox.Text) + ",'" + SexBox.Text + "')";
  tCommand := new AdomdCommand;
  tCommand.CommandText := SQLCommandText;
  tCommand.Execute();
end;

end.
Das ist bis jetzt mein bester Versuch mit einer ADOConnection. Mit dem .NET Provider habe ich es schon garnicht kompiliert bekommen, da ich nicht weiß, wie ich den im uses-Bereich einfügen muss. Aber leider auch mit der ADO-Connection bekomme ich keine Verbindung zum Server hin. Jedesmal beim tCon.Open bricht er ab und läuft auf einen Timeout. Wenn ich mit anderen Programmen drauf zugreifen will, funktioniert es.

Habe ich irgendwas falsch gemacht und wenn ja was ?
Rolf Warnecke
App4Mission

Geändert von RWarnecke (18. Jul 2010 um 18:26 Uhr)
  Mit Zitat antworten Zitat