AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prism Allgemeiner Datenbankzugriff unter .NET
Thema durchsuchen
Ansicht
Themen-Optionen

Allgemeiner Datenbankzugriff unter .NET

Ein Thema von Alexander · begonnen am 24. Mai 2006 · letzter Beitrag vom 4. Sep 2006
 
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#1

Allgemeiner Datenbankzugriff unter .NET

  Alt 24. Mai 2006, 10:14
Datenbank: Alle :) • Zugriff über: ADO.NET
Hallo,
die Datenbankverbindung unter .NET ist ja eigentlich recht einfach, wenn man ADO.NET mit den entsprechenden Providern nutzt. Ich habe das gerade mal alles in eine Methode gepackt:
Delphi-Quellcode:
procedure TWinForm1.Button3_Click(sender: System.Object; e: System.EventArgs);
var
  cmd : OdbcCommand;
  con : OdbcConnection;
  dataAdapter : OdbcDataAdapter;
  DSet : DataSet;
begin
  con := OdbcConnection.Create('DSN=wall;UID=wwwrun;PWD=');
  cmd := con.CreateCommand();
  cmd.CommandText := 'SELECT * FROM WetterData';
  dataAdapter := OdbcDataAdapter.Create(cmd);
  DSet := DataSet.Create;

  dataAdapter.Fill(DSet);

  DataGrid1.DataSource := DSet;
end;
Hier greife ich ja noch über das alte ODBC auf die Datenbank zu. Dieser Weg ist ja gerade unter .NET nicht sehr optimal. Ein direkte nativer Zugriff mit den entsprechenden .NET Providern ist da ja besser und funktioniert quasi genau so. Z.B. muss ich als Datentyp ja nur den MySQLConnection oder SQLConnection statt ODBCConnection nehmen.
Ich suche aber eine Möglichkeit das allgemein zu halten und bspw. per Konfigurationsdatei wählen welche Verbindung ich nehmen möchte.
Ich habe gesehen, dass alle Klassen von einer Klasse abgeleitet wurden, bei der Connection-Klasse z.b. von IDbConnection. Also muss man mein Vorhaben irgendwie realisieren können. Hinzu kommt, dass wenn ich z.B. den MySQL-Provider direkt nehmen würde, dieser auch auf dem Zielrechner installiert sein muss. Ist dieser nicht installiert, aber in dem Programm genutzt, müsste es also zu einer Exception kommen. Es wäre also noch genialer, wenn man diese dynamisch laden könnte. Ich stelle mir das so vor:
In einem String steht z.B. Firebird oder MySQL, dann wird der entsprechende Provider verwendet, obwohl dieser nicht explizit im Quelltext genannt ist.
Ich hoffe ihr habt mich verstanden und könnt mir helfen . Für den einen oder anderen .NET Crack ist das sicherlich kein Problem .
PS: Bitte beachtet, dass ich gerade erst mit .NET angefangen habe zu spielen

Nachtrag: Zur Verdeutlichung suche ich also eine Funktion oder Methode, die mir ein DataSet zurückgibt:
Delphi-Quellcode:
function getDataSet(conString, Art, sql : String) : DataSet;
begin ... end;
Wobei Art angeben soll, wie zur Datenbank verbundne werden soll und welche überhaupt genommen wird. Also z.B. Art := MySQL;
SQL gibt das SQL-Statement an.
Nur so als Verdeutlichung
Alexander
  Mit Zitat antworten Zitat
 


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 17:38 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