AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Datenbank mit .NET

Ein Thema von michael.cohrs · begonnen am 13. Nov 2005 · letzter Beitrag vom 13. Nov 2005
Antwort Antwort
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#1

Datenbank mit .NET

  Alt 13. Nov 2005, 12:08
Datenbank: Interbase • Zugriff über: SQL
Guten Morgenzusammen,

kann mir jemand sagen wie ich an die mit dem unten stehen Quelltext abgerufenen Daten komme? Ich möchte die Ergebnisse der Abfrage zum vergleichen in entsprechende Variablen schreiben. Der Connect über BdpDataConnection klappt einwandfrei nur weiß ich beim besten Willen nicht wie ich an die Ergebnisse der Abfrage komme. Das ganze soll auf einem Webform laufen, soll halt eine ASP :Net Anwendung werden. Ich weiß einfach nicht mehr weiter und würde mich echt über einen Tipp oder Codesnippsel freuen.

Danke

Michael

Delphi-Quellcode:
BdpDataAdapter1.Active := FALSE;
Command_Text := 'SELECT * from CUSTOMER';
BdpCommand1.CommandText := Command_Text;
BdpDataAdapter1.SelectCommand := BdpCommand1;
BdpDataAdapter1.Fill(Dataset1);
BdpDataAdapter1.Active := TRUE;
[edit=sakura] [delphi]-Tags Mfg, sakura[/edit]
Michael Cohrs
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#2

Re: Datenbank mit .NET

  Alt 13. Nov 2005, 12:27
Schau Dir doch einfach mal diesen Artikel im BDN an: Borland ® Data Provider (BDP) for the Microsoft® .NET Framework
  Mit Zitat antworten Zitat
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#3

Re: Datenbank mit .NET

  Alt 13. Nov 2005, 12:35
Danke ersteinmal für deine Antwort,

leider komme ich mit diesem Artikel nicht weiter, habe schon alles versucht jedoch bekomme ich keine Ergebnisse (oder finde diese irgendwie nicht in den Komponenten). In den älteren Versionen von Delphi gab es "FieldByName" mit denen ich gezielt Daten abfragen konnte, dass vermisse ich bei dem .NET

Kannst du mir irgend einen Tipp geben wie ich vorgehen muß oder mir gar nen kleinen Code schicken?

Viele Grüße

Michael
Michael Cohrs
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Datenbank mit .NET

  Alt 13. Nov 2005, 12:48
HAllo Michael,
versuche es doch mal in dieser Reihenfolge
Code:
BdpDataAdapter1.Active       := FALSE;
Command_Text                 := 'SELECT * from CUSTOMER';
BdpCommand1.CommandText      := Command_Text;
BdpDataAdapter1.SelectCommand := BdpCommand1;
BdpDataAdapter1.Active       := TRUE;
BdpDataAdapter1.Fill(Dataset1);
Das Ergebnis steht dann in Dataset1
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#5

Re: Datenbank mit .NET

  Alt 13. Nov 2005, 12:52
Das ist zwar kein Beispiel für BDP sondern für "normalen" ADO.Net-Adapter, sollte aber so ähnlich auch funktionieren:
Delphi-Quellcode:
      s := dsUmrechnungen1.Tables['einheiten'].Rows.
        Item[0]['umrechnung'].ToString;
  Mit Zitat antworten Zitat
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#6

Re: Datenbank mit .NET

  Alt 13. Nov 2005, 12:59
Hallo zussammen,

Vielen Dank für eure Antworten, nun klappt es so wie ich wollte. Einen schönen Sonntag euch allen noch


Gruß

Michael
Michael Cohrs
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: Datenbank mit .NET

  Alt 13. Nov 2005, 13:04
Delphi-Quellcode:
var
  connection : IDbConnection;
  command : IDbCommand;
  dataReader : IDataReader;
  someInt : Integer;
begin
  connection := DeineConnection;
  
  command := connection.CreateCommand();
  try
    command.CommandText := 'SELECT * from CUSTOMER';
    dataReader := command.ExecuteReader();
    try
      while dataReader.Read() do
      begin
        someInt := dataReader.GetInt32(0);
      end;
    finally
      dataReader.Dispose();
    end;
  finally
    command.Dispose();
  end;
end;
Das ist so ziemlich der standardschnipsel, den man auf alle DBs anwenden kann.
Die Connection, die du oben reinwirfst, entscheidet welches DBMS benutzt wird...
Man sieht auch sehr schön, wie umständlich alles ohne ein "using"-Statement wird...


Zitat:
In den älteren Versionen von Delphi gab es "FieldByName" mit denen ich gezielt Daten abfragen konnte, dass vermisse ich bei dem .NET
Das ist "as designed".
Auch ein FieldbyName war kein schlauer Schritt in native Delphi. Auf die Felder wurde nicht über eine HashTable zugegriffen sondern mega-lahm einzelne Stringvergleiche. Es ist dann schnell fraglich was langsamer war, das Scrolling durch die Ergebnismenge oder das Finden der Spalte...

Es gibt auch im .Net IDataReader noch den VB-Monk-Weg: dataReader['Spalte'] Aber der spuckt ein Object aus, was wieder eine schöne Bremse ist, wenn man es mit value types zu tun hat. (Auch wenn er eine HashTable für die Spalten nimmt )
  Mit Zitat antworten Zitat
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 16:02 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