![]() |
Datenbank: Interbase • Zugriff über: SQL
Datenbank mit .NET
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:
[edit=sakura] [delphi]-Tags Mfg, sakura[/edit]
BdpDataAdapter1.Active := FALSE;
Command_Text := 'SELECT * from CUSTOMER'; BdpCommand1.CommandText := Command_Text; BdpDataAdapter1.SelectCommand := BdpCommand1; BdpDataAdapter1.Fill(Dataset1); BdpDataAdapter1.Active := TRUE; |
Re: Datenbank mit .NET
Schau Dir doch einfach mal diesen Artikel im BDN an:
![]() |
Re: Datenbank mit .NET
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 |
Re: Datenbank mit .NET
HAllo Michael,
versuche es doch mal in dieser Reihenfolge
Code:
Das Ergebnis steht dann in Dataset1
BdpDataAdapter1.Active := FALSE;
Command_Text := 'SELECT * from CUSTOMER'; BdpCommand1.CommandText := Command_Text; BdpDataAdapter1.SelectCommand := BdpCommand1; BdpDataAdapter1.Active := TRUE; BdpDataAdapter1.Fill(Dataset1); |
Re: Datenbank mit .NET
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; |
Re: Datenbank mit .NET
Hallo zussammen,
Vielen Dank für eure Antworten, nun klappt es so wie ich wollte. Einen schönen Sonntag euch allen noch Gruß Michael |
Re: Datenbank mit .NET
Delphi-Quellcode:
Das ist so ziemlich der standardschnipsel, den man auf alle DBs anwenden kann.
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; 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:
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... :P Es gibt auch im .Net IDataReader noch den VB-Monk-Weg:
Delphi-Quellcode:
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 ;) )
dataReader['Spalte']
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:06 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 by Thomas Breitkreuz