C# MySQL Login Form

Gotenks666

Ensign
Registriert
Mai 2009
Beiträge
165
Guten Tag Liebe Computerbase Community.

Für ein Projekt von mir möchte ich mir ein Programm in C# erstellen.
Allerdings möchte ich, dass das Programm wen man es startet man sich einloggen muss.

Das ganze soll mit einer MySQL abfrage erfolgen.

Ich habe mir nun eine Datenbank (test) erstellt. Und dort meine Accountdaten (Benutzername:Test PW: test)
eingetragen.
In der Windows Form Anwendung gibt es 2 Textboxen. Eine für den Benutzername und eine für das Passwort.
Und natürlich den Login Button.

Ich habe etwas recherchiert und folgendes herrausbekommen.

Als erstemal die Standart Verweise für eine MySQL Verbindung

Code:
using MySql.Data;
using MySql.Data.MySqlClient;

Allerdings wie bekomme ich die Verbindung zu der MySQL Datenbank hin.
Dazu habe ich dies hier gefunden.

Code:
MySqlConnection connection = new MySqlConnection(@"Server=127.0.0.1;Uid=root;Pwd=;D atabase=downloader;");
connection.Open();

Dort habe ich nun meine Daten eingetragen.
Doch wie bringe ich die Login Funktion zustande?
Das wen ich auf den Login Button drücke mich einlogge indem ich meine
Login Daten in den 2 Textboxen eintrage.

Schonmal vielen dank im vorraus.

Liebe Grüße
Beitrag bearbeiten/löschen
 
Zuletzt bearbeitet:
Du könntest einen MySqlConnectionStringBuilder benutzen.

also zb.

Code:
            MySqlConnection con;
            MySqlConnectionStringBuilder csb = new MySqlConnectionStringBuilder();
            csb.Server = "Server xy";
            csb.UserID = txtUserXY.Text;
            csb.Database = ...;
            csb.Password = ...;

            con = new MySqlConnection(csb.ConnectionString);

so in der art... die 3 Pünktchen sind natürlich dann deine Textboxen oder was auch immer
 
nur so am Rande: ein Programm sich als "root" in ne Datenbank einloggen zu lassen ist aus sicherheitstechnischen Gründen ziemlich gewagt bzw. eigentlich schon als grob fahrlässig zu bezeichnen!
 
@KeepXtreme: es dient legendlich nur als Beispiel. Natürlich werden die Daten geändert.

Danke für die schnelle Antwort.
Nun habe ich folgenden Quellcode

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using MySql.Data;

namespace OnlineGameBox
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MySqlConnection con;
            MySqlConnectionStringBuilder csb = new MySqlConnectionStringBuilder();
            csb.Server = "127.0.0.1";
            csb.UserID = textBox1.Text;
            csb.Database = "test";
            csb.Password =textBox2.Text;

            con = new MySqlConnection(csb.ConnectionString);
        }
    }
}

Doch doch nun möchte ich,
das wen die Logindaten nichtstimmen eine Meldung kommt
und wen sie stimmen sich eine 2te Form öffnet
mit welcher Abfrage funktioniert das?
 
lies die mysql dokumentation ...
du brauchst einen select query, der link den ich dir geschickt habe verrät dir wie du das mit c# anstellst.
das ergebnis des querys vergleichst du dann mit den logindaten aus der box und fertig.

ein bisschen eigeninitiative schadet nicht.
wenn du schon am grundgerüst scheiterst, hilft es dir nicht wenn wir dir den code vor die nase setzen.

aber ok, vielleicht verstehst du es ja dann...

PHP:
private bool login(String username, String password)
		{
			string MyConString = "SERVER=localhost;" +
				"DATABASE=mydatabase;" +
				"UID=testuser;" +
				"PASSWORD=testpassword;";
			MySqlConnection connection = new MySqlConnection(MyConString);
			MySqlCommand command = connection.CreateCommand();
			MySqlDataReader Reader;
			command.CommandText = "select * from mycustomers";
			connection.Open();
			Reader = command.ExecuteReader();
			while (Reader.Read())
			{
				String login = Reader.GetValue(1);
                                String pass = Reader.GetValue(2);
                                if(login.equals(username) && pass.equals(password))
                                     return true;                                      
				
			}
			connection.Close();
		}

code ist von http://bitdaddys.com/MySQL-ConnectorNet.html (leicht abgewandelt)
 
Zuletzt bearbeitet:
Danke schonmal für die Antwort, aber das war nicht ganz mein Problem.
Die MySQL Connection habe ich Problemlos hinbekommen.

Doch ich wollte das Username von textbox1 bezogen wird
und das Passwort von der Textbox2

wie muss ich den Code dan umschreiben?
 
Lern die Sprache und lass dir nicht jeden Schritt einzeln vorsagen.
Das bringt dich doch am Ende des Tages überhaupt nicht weiter.
 
Zurück
Oben