c# MySQL werkt niet meer

Status
Niet open voor verdere reacties.

Tomboman

Gebruiker
Lid geworden
15 feb 2013
Berichten
32
Hallo,

Ik had een werkende verbinding met een MySQL database (VMware).
Alleen opeens (ik zal wel iets veranderd hebben maar weet niet meer wat) doet mijn verbinding het niet meer.

Hier mijn codes:

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.Types;
using MySql.Data.MySqlClient;
using Microsoft.VisualBasic;

namespace twBank
{
    public partial class Form1 : Form
    {
        public string serverip = "";
        public string strProvider = "";
        public Form1()
        {
            InitializeComponent();
            //string serverip = "";

            while (serverip == "")
            {
                serverip = Microsoft.VisualBasic.Interaction.InputBox("Wat is het IP adres van de server?", "Server IP", "192.168.4.123");
            }
            strProvider = "Data Source=" + serverip + ";Database=twbank;User ID=admin;Password=Welkom01;Connection Timeout=15;";
        }

        public string scrMd5(string originalPassword)
        {
            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
            byte[] md5password = md5.ComputeHash(Encoding.ASCII.GetBytes(originalPassword));
            StringBuilder result = new StringBuilder();
            foreach (byte b in md5password)
                result.Append(b.ToString("x2"));
            return result.ToString();
        }

        private void btnInloggen_Click(object sender, EventArgs e)
        {

            using (MySqlConnection connection = new MySqlConnection(strProvider))
            {
                try
                {
                    connection.Open();
                }
                catch
                {
                    MessageBox.Show("Er is geen verbinding met de database.\nControleer uw internet verbinding!\n" + strProvider);
                    Environment.Exit(0);
                }

                using (MySqlCommand command = new MySqlCommand("SELECT * FROM gebruikers WHERE login='" + txtLoginNaam.Text.ToLower() + "'", connection))
                {
                    MySqlDataReader reader = command.ExecuteReader();
                    bool correct = false;
                    if (reader.Read())
                    {
                        if (reader.GetString("wachtwoord") != scrMd5(txtLoginPass.Text))
                        {
                            correct = false;
                        }
                        else
                        {
                            correct = true;
                        }
                    }
                    else
                    {
                        correct = false;
                    }

                    if (correct == false)
                    {
                        MessageBox.Show("Er is geen gebruiker met deze gebruikersnaam en wachtwoord.");
                    }
                    else
                    {
                        this.Hide();
                        Form2 form2 = new Form2(reader.GetString("id"));
                        form2.ShowDialog();
                        this.Close();
                    }
                }
            }
        }
    }
}

Alleen nu krijg ik steeds de melding:

"Er is geen verbinding met de database.
Controleer uw internet verbinding!
Data Source=192.168.4.123;Database=twbank;User ID=admin;Password=Welkom01;Connection Timeout=15;"

Alleen ik begrijp maar niet waarom.
Het IP adres klopt, en de inloggegevens van de data source ook.

Ziet iemand toevallig iets raars, want ik kom er niet meer uit.
 
kijk eerst of de sql server nog opereationeel is log in op de databank
 
Als je de catch-block verandert in het volgende kan je de foutmelding zien die connection.Open() geeft. Dat levert vast meer inzicht.

Code:
catch (Exception e)
{
  MessageBox.Show(e.Message);
}

Succes,
Erik
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan