Laden...

MySQL mit ADO.net

Erstellt von Dizzy.w3 vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.993 Views
Dizzy.w3 Themenstarter:in
82 Beiträge seit 2007
vor 15 Jahren
MySQL mit ADO.net

Hallo,

ich möchte über einen C#-Client auf eine externe MySQL-DB zugreifen, leider habe ich im Bezug auf C# und Datenbanken nur wenig Erfahrung, und die, die ich habe beschränkt sich auf lokale OleDB-Connection, manuell oder per ADO.net.

Nun möchte ich das mir bekannte System (am liebsten wäre mit das ganze natürlich mit ADO.net) auf die externe MySQL-DB übertragen.

Ich weiß ja nicht einmal, woher ich den Namespace für die ganzen MySQL-Späße bekomme, sofern ich einen eigenen brauche.

Danke
Dizzy

// Edit
Den Treiber hatte ich schon installiert, aber vergessen als Referenz einzubinden, sodass ich den Namespace hinzufügen kann. Jetzt habe ich schon einen großen Schritt vorwärts gemacht. 🙂 (derweil danke für's Lesen 🙂)

Jetzt ist mein einziges Problem noch der Spaß mit dem BindingSource, sodass ich zB ein GridView befüllen kann, aber damit habe ich mich noch gar nicht beschäftigt.

:::

J
3.331 Beiträge seit 2006
vor 15 Jahren

Jetzt ist mein einziges Problem noch der Spaß mit dem BindingSource, sodass ich zB ein GridView befüllen kann, aber damit habe ich mich noch gar nicht beschäftigt.

Meinst Du wirklich GridView? Oder vielleicht DataGridView? Oder DataGrid? Oder DataView?

Zur **BindingSource **siehe z.B. auch OpenBook Visual C# Kap.26

Jürgen

Dizzy.w3 Themenstarter:in
82 Beiträge seit 2007
vor 15 Jahren

Stimmt, DataGridView meine ich ...

Danke dir ...


Wie ich die MySQL-DB mittels ADO.net benutzen kann weiß ich noch immer nicht 🙁

Finde dieszbzgl auch nichts hilfreiches.

:::

U
228 Beiträge seit 2004
vor 15 Jahren

Schau mal bei den Treibern auf der MySQL-Seite nach. Da gibts Assemblys für MySQL und auch eine sehr gute Beschreibung...

Und wenn du nicht weißt, wie man generell eine Datenbank anspricht, dann solltest du wie meine Vorposter die Onlinelektüre in Anspruch nehmen. Die Beispiele sind zwar auf einer SQL-Datenbank zugeschnitten, aber es ist kein Problem mit Hilfe der Doku von MySQL die Parameter auf MySQL umzuändern.

Dizzy.w3 Themenstarter:in
82 Beiträge seit 2007
vor 15 Jahren

Hi,

wie man eine Datenbank generell anspricht weiß ich, nur wie ich nun mithilfe von ADO.net eine DataGridView automatisch (vereinfacht) füllen kann weiß ich nicht.

Gruß
Dizzy

// Edit
Bzgl den Snippets bei den Treibern ... dort habe ich nichts problemlösendes gefunden.

:::

3.825 Beiträge seit 2006
vor 15 Jahren

Du installierst Dir den Dot.NET Connector von MySQL und benutzt

using System.Data;
using System.Data.Common;
using MySql.Data.MySqlClient;

am Anfang.

Eventuell die Datei MySql.Data.dll als Verweis zum Projekt hinzufügen.

Grüße Bernd

Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3

Dizzy.w3 Themenstarter:in
82 Beiträge seit 2007
vor 15 Jahren

Hi,

das Manuelle geht ja schön und gut. Ich möchte das ganze über den lustigen Konfigurationsassistenten machen, weil ich mir dadurch massig Codeschreiberei und Zeit spare.

Im Anhang ein Bild von dem Fenster, wo ich gerne MySQL auswählen möchte (auf einem externen Server)

Gruß
Dizzy

:::

J
3.331 Beiträge seit 2006
vor 15 Jahren

Vergiss den Assistenten.

Mit der Express-Version hast Du nur Zugriff auf MS-SQL und Access/OleDb. Andere DbProvider gehen theoretisch auf sehr trickreichen Umwegen; ich habe es z.B. nur geschafft, dass Firebird ausgewählt werden konnte, aber beim Versuch, die Verbindung zu testen, hat sich der Assistent verabschiedet.

Jürgen

Dizzy.w3 Themenstarter:in
82 Beiträge seit 2007
vor 15 Jahren

*schwammerl werd*

danke dir / euch

:::

D
496 Beiträge seit 2005
vor 15 Jahren

also ich glaube das das ganze mit manuellem code schreibe wesentlich schneller geht als mit dem assistenten.
das sind doch wirklich nur ein paar zeilen code:
entweder mit dem mysql for .net treiber http://dev.mysql.com/downloads/connector/net/1.0.html

oder per odbc (was nicht unbedingt empfehlenswert ist, langsamer)

hier trotzdem für ein bsp. per odbc (abfrage):
mit dem mysql connector gehts genauso nur die objektnamen sind anders
z.b. statt OdbcConnection dann MySqlConnetion

using System.Data.Odbc;


string conStr = deinConnnectionString;

OdbcConnection odbcConnection = new OdbcConnection(conStr);

string cmdTxt = @"Select ..... from .....";

OdbcCommand odbcCommand = new OdbcCommand(cmdTxt, odbcConnection);

OdbcDataAdapter odbcDataAdapter = new OdbcDataAdapter(odbcCommand);

odbcConnection.Open();

DataTable dt = new Datatable();

odbcDataAdapter.Fill(dt);

odbcConnection.Close();

thats it

"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."