Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - mittels c# auf eine mysql datenbank zugreifen
Mosima - So 26.02.12 02:32
Titel: mittels c# auf eine mysql datenbank zugreifen
hallo, ich möchte mittels c# auf meine mysql datenbank zugreifen.
ich habe berreits gegoogelt und so einige tuts durchgelesen in der hoffnung den fehler zu finden aber leider hab ich ihn nicht gefunden.
hier der code
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65:
| 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; using MySql.Data.MySqlClient;
namespace Animi_Nocte { public partial class Anmeldung : Form { public Anmeldung() { InitializeComponent(); }
private void button_registrierung_Click(object sender, EventArgs e) { if (textBox_registrieren_benutzername.TextLength > 1 && textBox_registrieren_pw.TextLength > 1 && textBox_registrierung_email.TextLength > 1) { if (textBox_registrieren_pw.Text == textBox_registrieren_pw_wiederhohlung.Text) { var user = textBox_registrieren_benutzername.Text; var pw = textBox_registrieren_pw.Text; var email = textBox_registrierung_email.Text;
MySql.Data.MySqlClient.MySqlConnection conn; string myConnectionString;
myConnectionString = "server=http://www15.subdomain.com/; uid=user1929703;" + "pwd=****;database=db1929703-csharp;Charset=utf8;";
try { conn = new MySql.Data.MySqlClient.MySqlConnection(); conn.ConnectionString = myConnectionString; conn.Open();
MySqlCommand insertCommand = new MySqlCommand("INSERT INTO users (benutzername, passwort, email) VALUES ('user', 'pw', 'email') ", conn); int i = insertCommand.ExecuteNonQuery(); } catch (MySql.Data.MySqlClient.MySqlException ex) { MessageBox.Show(ex.Message); } } else { MessageBox.Show("Die Passwörter sind nicht identisch.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Bitte alle Felder ausfüllen.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } |
weitere infos:
-ich verwende den hoster kilu.de
-es meldet mir immer das keine verbindung hergestellt werden kann. username und pw stimmen aber.
-ich bin noch in meinem lehrgang was c# angeht, weshalb ich teilweise evt. zu viel code schreibe.
schon mal danke an alle :D
Moderiert von
Th69: Quote- durch C#-Tags ersetzt
Th69 - So 26.02.12 10:32
Hallo Mosima :welcome:
kommst du denn mittels eines "MySQL Admin Tools" (z.B. "MySQL Workbench" oder "MySQL Administrator") auf den Server, d.h. stimmen deine ConnectionString-Parameter? Evtl. stimmt ja der Port nicht, d.h. es wird nicht der Standard-Port 3306 verwendet und du mußt ihn explizit angeben.
Ansonsten teste mal weitere Parameter von
Connection strings for MySQL [
http://www.connectionstrings.com/mysql].
P.S: statt "TextLength" muß es "Text.Length" heißen (aber das steht in deinem Originalcode wahrscheinlich richtig, denn sonst würde es ja nicht kompilieren ;-))
Und noch ein Tip: da du ja "MySql.Data.MySqlClient" mittels "using" schon eingebunden hast, brauchst du diesen Namensbereich nicht mehr explizit vor jeden MySql-Klasse zu schreiben, sondern "MySqlConnection" oder "MySqlException" reicht (so wie du es bei "MySqlCommand" ja schon gemacht hast) - insgesamt ist der Code dann leserlicher.
Mosima - So 26.02.12 18:39
erstmal danke für die antwort.
also mit dem connector gehts auch nicht. ich werd immer ratloser :( mit meinen php scripten gehts doch auch ;(
ich hab hier mal paar bilder was das anbelangt vill helfen sie ja weiter
Zitat: |
P.S: statt "TextLength" muß es "Text.Length" heißen (aber das steht in deinem Originalcode wahrscheinlich richtig, denn sonst würde es ja nicht kompilieren ) |
danke für den hinweis :) aber anscheinend spielts keine rolle den in meinem code steht textLength und es wird nicht als falsch angegeben. aber ich habs jetzt trotzdem unterteilt ^^
Th69 - So 26.02.12 19:35
Sorry Mosima, da bin ich leider überfragt.
Evtl. könnte es aber was mit "localhost" vs. "http://www15.subdomain.com/" zu tun haben, d.h. daß ein Zugriff von außen auf die DB nicht zugelassen ist, jedoch der "phpMyAdmin" sowie die auf dem Server liegenden PHP-Scripte Zugriff darauf haben.
P.S. bzgl. TextLength habe ich jetzt mal in der MSDN-Hilfe geschaut - ich wußte nicht, daß es eine extra Eigenschaft dafür gibt (scheint aber auch nur bei MaskedTextBox und RichTextBox anders als Text.Length zu sein) - wieder etwas gelernt ;-)
Ralf Jansen - So 26.02.12 19:38
Zitat: |
wieder etwas gelernt |
Die Property muss man sich auch unbedingt merken. Immerhin spart man sich einen ganzen Punkt.
Th69 - So 26.02.12 19:59
Im obigen Programm immerhin 3 Zeichen ;-)
Mosima - So 26.02.12 20:26
Th69 hat folgendes geschrieben : |
Sorry Mosima, da bin ich leider überfragt.
Evtl. könnte es aber was mit "localhost" vs. "http://www15.subdomain.com/" zu tun haben, d.h. daß ein Zugriff von außen auf die DB nicht zugelassen ist, jedoch der "phpMyAdmin" sowie die auf dem Server liegenden PHP-Scripte Zugriff darauf haben.
P.S. bzgl. TextLength habe ich jetzt mal in der MSDN-Hilfe geschaut - ich wußte nicht, daß es eine extra Eigenschaft dafür gibt (scheint aber auch nur bei MaskedTextBox und RichTextBox anders als Text.Length zu sein) - wieder etwas gelernt ;-) |
hmm wenn das der fall ist muss ich mir nen neuen hoster suchen um das zu testen. :( schade
Zitat: |
Im obigen Programm immerhin 3 Zeichen |
na das ist doch schon was xD
Mosima - So 26.02.12 23:57
ok es war tatsächlich so das der hoster kein fernzugriff zulässt.
:roll: :(
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!