Frage von Aim4FameClan, 45

Wie kann ich mein C# Form Programm mit einer Datenbank oder einem Jimdo Webspace verbinden?

Hallo. Ich habe bis jetzt die Logins in meinem Login System innerhalb der Anwendung gespeichert. Dies ist aber sehr unsicher und belastend wenn du zB. ein Login eintragen willst musst du eine neue Version raus bringen. Ich Möchte nun Login Daten ändern / hinzufügen können über eine Datenbank auf meinem Server oder einem Jimdo Webspace.

Bitte um Hilfe..

LG

Danke im Vorraus!

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Bador, 11

Vielleicht noch etwas weiter ausgeholt.

Du hast ja (laut Frage) bereits eine (Forms)Anwendung erstellt. Als Teil dieser Anwendung hast du mit Sicherheit Methoden (heißen auch Funktionen) geschrieben. Also etwas wie, wenn mein Knopf A gedrückt wird, geschieht folgendes und so weiter. Vielleicht hast du deine Methoden auch in Klassen gekapselt (Also mehrere syntaktisch zusammenhängende Methoden zusammen gruppiert [sag ich mal :)]).

Was du jetzt willst, (also mit einer Datenbank kommunizieren) muss nun ebenfalls in solche Methoden geschrieben werden. Dafür sind grundsätzlich mehrere Schritte notwendig.

  • Du musst dich irgendwie an der Datenbank anmelden(Gehen wir mal davon aus das Sie schon existiert :))
  • Du musst die Daten in die Datenbank schreiben und auch wieder auslesen
  • Du musst dich von der Datenbank abmelden.

Jetzt wäre es natürlich ziemlich mühsam, wenn du nun genau wissen müsstest wie welche Bytes gesendet und Empfangen werden müssen, damit man mit einer Datenbank kommunizieren kann. Dazu kommt das dies für jede Datenbank unterschiedlich ist. Daher haben (eigentlich alle) Hersteller von diesen DBMS (Datenbank Management Systemen) solche oben bereits beschriebenen Klassenbibliotheken geschrieben, die dir den Zugriff auf die jeweiligen Datenbanken erleichtern.

Wohlgemerkt erleichtern nicht abnehmen :)

Was musst du also mit dieser Programmbibliothek machen? Du musst Sie in dein Projekt einbinden. Wenn du Visual Studio verwendest, geht das am leichtesten wenn du einen rechten Mausklick auf Hinzufügen -> Referenzen machst und in dem Fenster (das daraufhin erscheint) die richtige zuvor installierte Programmbibliothek auswählst.

Damit hast du sozusagen deinem Projekt mal gesagt, nimm diese Datei mit wenn du dich selbst erzeugst und du kannst die Methoden der Bibliothek dann auch in deinem Projekt verwenden, als hättest du Sie selber da rein geschrieben.

Damit du die Methoden in deinem Projekt verwenden kannst, musst du zuvor (ich empfehle dir einen eigene Klasse für den Datenbankzugriff anzulegen) ein Import Statement in die Klasse einfügen.

using MySql.Data.MySqlClient;

(So in die Richtung sollte das aussehen)

Gut ich sagte zu Beginn du musst dich mit deiner Datenbank in Verbindung setzen. Dafür benötigst du natürlich einen Benutzernamen und auch ein Kennwort. Normalerweise wird zur Verbindung ein sogenannter ConnectionString benötigt. Was genau das ist, und wie dieser für MySql aussieht kannst du denke ich mit etwas Internetrecherche eruieren.

Der ConnectionString muss der Connection (Im Falle MySql heißt die wahrscheinlich MySQLConnection oder so) übergeben werden und danach die Funktion Open ausführen. Ist der ConnectionString OK und die Datenbank Online und übers Netzwerk (oder lokal) erreichbar geht darauf hin der Status deiner MySQLConnection auf Open ansonsten Exception.

Danach musst du MySQLCommandos vorbereiten, indem du passende SQL Statements schreibst. Auch hier empfehle ich dir wieder das Internet (ich habe schon den Rahmen gesprengt, dass kann ich aber wirklich nicht mehr erklären :))

Hast du dein Statement, musst du es noch ausführen (Kann nur Ausgeführt werden mit einer offenen gültigen Connection siehe oben).

Zum Abschluss hier noch ein Beispiel, ich habe es nur überflogen aber ich glaube die wichtigsten Punkte gesehen zu haben :)

http://www.codeproject.com/Articles/43438/Connect-C-to-MySQL

Viel Erfolg!

Kommentar von Aim4FameClan ,

Wow vielen Dank!
Werde ich morgen gleich mal versuchen! 😊

Antwort
von Lisa101097, 24

Da brauchst du eine API auf deinem Webspace. Dafür gibt es teilweise templates, da ein entwerfen einer sicheren API nicht gerade trivial ist.

Kommentar von Aim4FameClan ,

Danke, aber ich hab davon jetzt vllt 2 Wörter verstanden.. xD

Kommentar von Lisa101097 ,

http://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340 Hier ist ein Guide. Eine API ist eine Programmierschnittstelle, die es dir erlaubt, per C# auf deinen Webserver zuzugreifen.

Antwort
von TheQ86, 27

Installier dir ne MySQL auf deinem Server oder leg dir eine mysql db auf deinem webspace account an. Lade dir den .NET Connector von MySQL (http://dev.mysql.com/downloads/connector/net/) und dann sollte dem nichts mehr entgegenstehen.

Aber vorsicht: Eventuell kann man den mysql server auf dem webspace nicht von außen erreichen. Manche machen das aus Sicherheitsgründen.

Kommentar von Aim4FameClan ,

Okay Danke erstmal, aber wie funktioniert das jetzt? Ich blick da nicht durch... (Habs mir runter geladen, installiert und da is nicht mal ne Anwendung xD)

Kommentar von TheQ86 ,

Sicher ist das keine Anwendung. Das ist eine Klassenbibliothek. Die musst du einbinden und die enthaltenen Klassen dafür nutzen um deine Anwendung zu schreiben.

Keine passende Antwort gefunden?

Fragen Sie die Community