Autor Beitrag
Mosima
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 26.02.12 02:32 
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
ausblenden volle Höhe 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)
                {
                   
                    // hier beginnt die registration
                    var user = textBox_registrieren_benutzername.Text;
                    var pw = textBox_registrieren_pw.Text;
                    var email = textBox_registrierung_email.Text;

                    //verbindung
                    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 user profile iconTh69: Quote- durch C#-Tags ersetzt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: 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.

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 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: 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
user defined image
user defined image


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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: So 26.02.12 19:59 

Im obigen Programm immerhin 3 Zeichen ;-)
Mosima Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 26.02.12 20:26 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 26.02.12 23:57 
ok es war tatsächlich so das der hoster kein fernzugriff zulässt.

:roll: :(