Wie kann man mit C# ( MS .NET 2003) auf eine MySQL-Datenbank zugreifen ?

Goldman

Mitglied
Ich entwickle mit C# welches in MS Visual Studio .Net 2003 integriert ist eine Anwendung.
Doch dafür muss ich auf eine MySQL Datenbank zugreifen und sie auslesen.
Ich habe schon verschiedene Provider (Schnittstelle zw. C# und MySQL) ausprobiert, doch bisher keinen Erfolg gehabt, oder keine Dokumentatoipn gefunden die mir hilft.
 
Hi!

Um auf mySQL zuzugreifen benötigst Du einen ODBC Treiber dafür. Den gibt's hier: mysql.com

Dann mußt Du in den ODBC Einstellungen eine Verbindung anlegen, dann kannst Du darüber (Namespace: system.data.odbc) auf die DB zugreifen.

MfG
KB
 
ich habe mir mal folgenden code zusammen gebastelt:

Code:
private System.Data.Odbc.OdbcConnection odbcConnection1;
private System.Data.Odbc.OdbcCommand odbcCommand1;
	
private void but_Con_Click(object sender, System.EventArgs e)
{
	odbcConnection1 = new odbcConnection1("DSN=mysql");
	this.odbcConnection1.Open();
	odbcCommand1 = new odbcCommand1("select * from pc",this.odbcConnection1);
	while(this.odbcCommand1.ExecuteReader.Read( ))
	{			
	}
	this.odbcCommand1.CommandTextGetString(1);
	// (note that the column number starts from zero)
	// GetOrdinal();
	
	odbcConnection1.Close();
}

leider funktioniert er net

Bitte nur den wesentlichen Code pasten, und CODE-Tags verwenden! Mfg, Alex
 
Zuletzt bearbeitet von einem Moderator:
Hi!

Ehrlich gesagt werd ich nicht so richtig schlau aus dem Code!
Was funktioniert denn nicht? Gibts eine Fehlermeldung? Hast Du mal den Debugger laufen lassen

MfG
KB
 
da war nur der provider falsch, aber jetzt muss ich per ole db Daten auslesen weist du zufällig wie das geht ?

ich nutze nun folgenden code:

Code:
using System.Data;
using System.Data.OleDb;
...

private System.Data.OleDb.OleDbCommand oleDbCommand1;
private System.Data.OleDb.OleDbConnection oleDbConnection;
	
private void btnOpenOLEDB_Click(object sender, System.EventArgs e)
{
	System.Data.OleDb.OleDbConnection con;
	con=new System.Data.OleDb.OleDbConnection("");
	con.ConnectionString="Provider=ADsDSOObject;Data Source=mysql;";
	try				
	{
		con.Open();
		if (con.State==ConnectionState.Open) 
			MessageBox.Show("Connection to MySQL opened through OLE DB Provider");
		this.oleDbCommand1.CommandText="select * from pc";
		System.Windows.Forms.MessageBox();
		con.Close();
	}
	catch(Exception ex)
	{
		MessageBox.Show(ex.Message);
	}
}

Wie oben, nur das wesentliche und in Code-Tags, ausserdem schreibe bitte nicht durchgehend klein. Satzanfänge gehören zum Beispiel groß geschrieben.
Mfg,
Alex
 
Zuletzt bearbeitet von einem Moderator:
Hi!

Ich weiß zwar absolut nicht warum man mit OLEDB auf mySQL zugreift, aber bitte...

----------------------------
Du mußt eine Connection öffnen.
Du mußt ein Command festlegen (SELECT * FROM Tabelle...).
Dem Command mußt Du die Verbindung zuweisen.
Du mußt einen DataAdapter instanzieren und über diesen eine DataTable oder ein DataSet mit den Daten füllen, ungefär so:

DataAdapter1.Fill(DataTable1);
----------------------------

Vielleicht hilft Dir folgende Seite etwas weiter: http://www.codeproject.com/dotnet/#Databases

Weitere Hilfe findet sich im DOTNET-SDK: ms-help://MS.NETFrameworkSDKv1.1.DE/cpref/html/frlrfsystemdataoledboledbcommandclassctortopic.htm

MfG
KB
 
ALso soweit ich weiss ist es etwas lahm mit odbc.

hol dir von hier -> http://www.mysql.com/downloads/api-dotnet.html

den treiber für den direkten zugriff auf die datenbank. eine hilfe in html incl. beispielen ist dabei.

hab leider bis jetzt noch nicht probiert auf die datenbank zuzugreifen, aber wird bald geschehen.

hoffe dir hilfts.

cya
 

Neue Beiträge

Zurück