Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Datenbank in textbox ausgeben


haelg - Fr 11.03.11 12:48
Titel: Datenbank in textbox ausgeben
Hallo zusammen.
Ich bin neu hier und habe ein Problem.
Ich habe auf phpMyAdmin einen MySQL Server am laufen.
Ich will ein C#-Programm mit einer MySQL-Datenbank verbinden, dies gelang mir auch, ich will aber jetzt Daten aus der Datenbank ausgeben, das kann man ja mit MySQL-Befehlen und ich weiss nicht wie ich dies in meinem Programm einfügen.

Vielen Dank schon im Voraus.


stendate - Fr 11.03.11 23:04

Hier gibts ne schöne Anleitung für die ersten Gehversuche: http://tinyurl.com/5r6lvms


Th69 - Sa 12.03.11 10:24

Hallo stendate,

besser wäre es gewesen, wenn du direkt den Link zum Tutorial gepostet hättest: http://www.codeplanet.eu/tutorials/csharp/5-verbindung-zum-mysql-server-mit-csharp.html

Und hallo haelg,

hast du denn schon einen SELECT-Befehl abgesetzt (mittels der MySqlCommmand-Klasse)?

Zum Einlesen kann man dann entweder den DataReader benutzen oder aber einen DataTableAdapter (Fill-Methode).

Unter http://www.c-sharp-forum.de/viewtopic.php?p=625691#625691 hatte ich schon mal ein paar Tutorials für (MySql-)Datenbankprogrammierung gepostet.


haelg - Sa 12.03.11 14:20

Hallo vielen Dank erstmals.

Ich beschäftige mich erst seit 2 Wochen mit Datenbanken.
In C# bin ich auch nicht gerade der Crack. Ich habe erst einen kleinen Taschenrechner programmiert.

Muss ich den SELECT Befehl in MySQL oder in C# schreiben.
In MySQL habe ich bereits eine Tabelle erstellt, bei der ich die Informationen aus mehreren Tabllen zu einer machen mit: create view .... as

Ebenfalls ist es mir gelungen ein Datentyp aus der Datenbank auszulesen, jedoch nur mit Konsole und mit einer einzigen Linie (sprich ID).
Per GUI ist es mir gelungen, einen Connect herzustellen, jedoch nicht die Daten in einer textBox auszugeben.

Grüsse und Danke


SakeSushi - Di 22.03.11 04:47

Ich würde dir das Entity Framework empfehlen, welches sich dank dem Connector/Net [http://www.mysql.com/downloads/connector/net/] auch mit MySql verwenden lässt.

Das Entity Framework (kurz EF) ist ein sogenannter O/R Mapper [http://en.wikipedia.org/wiki/Object-relational_mapper], d.h. dieser bindet eine relationale Daten Strukture in das OOP-Konzept einer Programmier Plattform ein. Dank der integrierten Abfrage-Syntax LINQ [http://en.wikipedia.org/wiki/LINQ] von C#/.NET kannst du direkt auf die OOP-Abbilder deiner Datenbank Queries anwenden, hast aber im endeffekt verwendbare Objekte.

Aber Vorsicht: Man sollte das EF nicht einsetzen, wenn es sich hier um eine eher kleinere Applikation handelt, denn dann sollte man bei den guten alten SQL Queries bleiben und von O/R Mapping die finger lassen. Der Grund dafür ist, dass es dem System einiges an Arbeit kostet sich um die ganzen Objekte, deren Status und der synchronisation mit der Datenbank zu kümmern. In solchen fällen bist du mit der DLL-Datei mysql.data.dll, welche beim installieren des oben genannten .NET/Connectors mit geliefert wird, schneller dran. Codeplanet zeit hier [http://www.codeplanet.eu/tutorials/csharp/5-verbindung-zum-mysql-server-mit-csharp.html] ein schönes Beispiel.

Solltest du aber meinen, dass das EF eher etwas für dich ist, kannst du direkt bei MSDN dich etwas schlau machen:
Übersicht: ADO.NET Entity Framework [http://msdn.microsoft.com/de-de/magazine/cc163399.aspx]
Schnellstart (Entity Framework) [http://msdn.microsoft.com/de-de/library/bb399182.aspx]
Und falls bei LINQ auch Lernbedarf besteht: LINQ und Konsorten - Linq to Entities [http://www.microsoft.com/germany/msdn/webcasts/library.aspx?id=1032372945]

___________________________
Lebe lang und erfolgreich!