mysql exception

theplake

Erfahrenes Mitglied
Hi Leute

Folgendes habe ich:

Ich baue mit dem mysql connector eine Verbindung zu meiner Datenbank auf.Dort vergleiche ich den inhalt von textbox1 und 2 mit bestimmten feldern.Also quasi ein LOGIN.

Mein Problem ist jetzt das wenn man etwas falsches eingibt soll er schauen was von beiden nicht übereinstimmt.
Das kannste mache ich mit try Catch.

So:

try
{
mysql verbinden....

if (ergebniss == textbox1 && ergebniss == textbox2)
messagebox ("alles okay")
}

catch (mysqlexception...)
{
//////SO UND HIER SOLLTE DOCH EIGENTLICH STEHEN:
if (ergebniss != textbox1).....

Aber das klappt irgendwie nicht.
Kann mir da einer helfen?
 
Hi

Ein paar Dinge vorweg:
1. Halte dich bitte an die Netiquette!
2. Dein Problem hat nichts mit Windows Forms zu tun. Bitte beim nächsten Mal die Forenwahl genauer treffen.
3. Pack Quellcode bitte in entsprechende Tags

Danke :)

Zum Problem:
Ich weiß nicht, was nicht klappt (Soll / Ist), aber ich geh mal davon aus, dass du nicht im Catch-Block landest.
Das liegt daran, dass keine Exception geworfen wird. Das muss aber auch nicht geschehen, da das im eigentlichen Sinn keine Ausnahme im Programm darstellt.
Die Überprüfung, was nun genau falsch ist, sollte wenn dann ebenso im Try-Block geschehen (If / Else)
 
JA das ins try packen hab ich versucht.
Aber hier ist mal der Code schnipsel:

Code:
try 
			{
			
			conn = gcnew MySql::Data::MySqlClient::MySqlConnection( connStr );
			conn->Open();
			conn->ChangeDatabase( "meine datenbank" );
			

			///////////////username und Passwort vergleichen
			MySqlCommand ^cmd = gcnew MySqlCommand("SELECT username, passwort FROM meinedb WHERE username ="+textBox1->Text+";", conn);
			reader = cmd->ExecuteReader();
			reader->Read();
			
////////wenn richtig
			if (reader->GetString(0) == textBox1->Text && reader->GetString(1) == getMD5String(textBox2->Text))
				{
				
				///CODE
	                               conn->Close();
					Close();
				}
///////SO UND HIER IST DAS PROBLEM	
			else if (reader->GetString(0) != textBox1->Text)
					{
					MessageBox::Show("Username falsch!");
					}
				else if (reader->GetString(1) != getMD5String(textBox2->Text))
					{
						MessageBox::Show("Passwort falsch!");
					}
			conn->Close();
			
			}

	catch (MySqlException^ ex) 
			{
				
				MessageBox::Show("Kann nicht zu Datenbank verbinden:  " + ex->Message );
			}
 
Zurück