Vollständige Version anzeigen : [.NET] [C#] How-To MySql Datenbank auslesen


SchOudeBläS
07.10.2008, 18:36

Hallo,

in diesem Tutorial wirst du lernen, wie du auf eine MySql Database zugreifen kannst und deren Tabellen ausliest.

1. Zuerst erstelle ein neues Project mit zB. dem Namen MySQL Connector

2. Füge eine Form hinzu:
;;;xup~in/pic,12464990/screen1;jpg
der graue kasten ist ein DataGrid, falls man das nicht sofort erkennen kann

3. Nun legen wir einen Verweis auf diese Library: Download: MySql;Data;dll | xup~in (;;;xup~in/dl,10874655/MySql;Data;dll/)

4. Jetzt kümmern wir uns um das Dis-/-Connecten:

Als erstes müssen wir eine Klassenobject aus der Library erstellen.
private readonly MySql ad = new MySql();

Jetzt kümmern wir uns um die 2 Buttons:

Auf connecten doppelklicken und diesen code einfügen:
string user = "", host = "", database = "", passwort = "";

user = textBoxUsername;Text;
host = textBoxHost;Text;
database = textBoxDatabase;Text;
passwort = textBoxPasswort;Text;

if(user;Length != 0 &&
host;Length !=0 &&
database;Length != 0 ) //wenn, alle daten nicht leer sind
{
buttonRefresh;Enabled = true; //Der refresh Button wird aktiviert

//Dem MySQL object ad werden die datenübergeben
ad;DbUserId = user;
ad;DbHost = host;
ad;DbDatabase = database;
ad;DbPassword = passwort;

ad;Connect(); //und connecten

try
{
UpdateTableList(); //es wird versucht die tabellen aus der datenbank abzurufen
}
catch (Exception ex)
{
MessageBox;Show(ex;ToString()); //falls das nicht möglich ist wird die Fehlermeldung angezeigt
}

}
else
{
MessageBox;Show("Bitte Angaben überprüfen", "Error"); //wenn, die Daten nicht vollständig sind wird hier eine Message Box angezeigt
}


UpdateTableList-Funktion:
private void UpdateTableList()
{
listBoxTables;Items;Clear(); //Listbox leermachen

DataTable data = ad;Query("SHOW TABLES"); //Mit diesem SQL befehl werden alle Tabellen abgefragt

foreach (DataRow dr in data;Rows) //jede DataRow also Tabelle wird zur Listbox hinzugefügt
{
listBoxTables;Items;Add(dr;ItemArray[0];ToString());
}
}


Der Disconnect-Button:
buttonRefresh;Enabled = false; //Refresh button deaktiviern, sodass kein error enstehen kann, falls darauf geklickt wird, wenn keine verbindung besteht

ad;Disconnect(); //disconnecten

//Clearen
dataGridViewAusgabe;DataSource = new DataTable();
listBoxTables;Items;Clear();

MessageBox;Show("Disconnected!", "Information"); //Dem User bescheidsagen, dass die Verbindung beendet wurde


5. Jetzt brauchen wir nur noch einen Eventhandler, der uns den Inhalt der Tabelle anzeigt.

dafür diesen code unter den InitializeComponent(); einfügen:

listBoxTables;SelectedIndexChanged += listBoxTables_SelectedIndexChanged;

Nun der Code zu der Funktion die ausgeführt wird, wenn ein Item in der listbox ausgewählt wird:

void listBoxTables_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedItem = listBoxTables;SelectedItem;ToString();
try
{
DataTable data = ad;Query("SELECT * FROM " + selectedItem); //den inhalt der selectierten tabelle abrufen und in eine DataTable schreiben

dataGridViewAusgabe;DataSource = data; //Die Quelle des DataGrid nun auf die heruntergeladene DataTable setzen
}
catch (Exception)
{

}
}


6. Als letztes fehlt nur noch der Refresh Button, der die Tabellen neu abfragt:
listBoxTables;Items;Clear();

DataTable data = ad;Query("SHOW TABLES");

foreach (DataRow dr in data;Rows)
{
listBoxTables;Items;Add(dr;ItemArray[0];ToString());
}


Fertig!

Ich hoffe du konntest mir folgen. Bei fragen PM.

BW wäre nice^^

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Ähnliche Themen zu [.NET] [C#] How-To MySql Datenbank auslesen
  • Sql Datenbank Pw auslesen
    Also Jungs ich hab n kleines Problem der server is Abgekackt, aber ich hab n backup von der datenbank so ich habs auch schon wieder importiert passt alles aber ich weiß das pw nimmer vom admin und wenn ich unter der user ID schau steht nur so n komischer zahlen code ^^ HILFE Also wäre echt [...]

  • auslesen aus Datenbank
    wie kann ich es realisieren das ich aus einer mysql datenbank aus einer tabelle nur eine ganzbestimmte zeile auslese?? z;b: ---------------------------------------------- ------------|----Spalte 1---|--Spalte 2-----| --Zeile1----|----bla1-------|---------------| ------------|----bla2------ [...]

  • [PHP] [MySQL] Doppelte Werte aus einer Datenbank auslesen
    Ich hab gesucht aber nicht das gefunden, was zu meinem Problem passt. Ich denke hier kann mir eh schneller geholfen werden, als wenn ich was bastel. Ich will, dass aus einer Datenbank alle Nutzer ausgelesen werden, die mit gleichen IP's online sind (Multiaccounts) Wenn ich suche spuckt er mir imme [...]

  • Nur ersten Wert aus MySQL-Datenbank auslesen
    Hi leutz, ich habe da mal so ein problem. nähmlich würde ich gerne nur den ersten Wert aus einer tabelle auslesen lassen. ich stelle mir das ganze so vor: $sql = "SELECT x FROM y ORDER BY DESC"; $result = mysql_query($sql) OR die(mysql_error()); ich hoffe es ist klar was ich meine. thx [...]



raid-rush.ws | Imprint & Contact pr