Bon, j'ai réussi a établie une connexion entre moi et mon server localhost.
Voici ce que j'ai fait:
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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| using MySql.Data.MySqlClient;
namespace _2D_Gamers
{
public partial class Form1 : MetroForm
{
String cs2 = @"server=localhost;userid=''; password='';database=test";
MySqlConnection conn2 = null;
String keyword;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
circularProgress1.Value += 10;
if (circularProgress1.Value == circularProgress1.Maximum)
{
timer1.Stop();
circularProgress1.Value = 0;
timer1.Start();
}
}
private void button2_Click(object sender, EventArgs e)
{
conn2 = new MySqlConnection(cs2);
conn2.Open();
if (textBox1.Text.Length != 0)
{
try
{
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn2;
cmd.CommandText = "SELECT * from contable WHERE Name like '%@g1%' OR email like '%@g1%'OR Phone like '%@g1%' OR Gender like '%@g1%' OR Blood like '%@g1%'";
cmd.Prepare();
cmd.Parameters.AddWithValue("@g1", keyword);
cmd.ExecuteNonQuery();
cmd.Dispose();
MessageBox.Show("Connexion en tanat que: " + textBox1.Text, "Connexion établie!");
}
catch (MySqlException ex)
{
Console.WriteLine("Error: {0}", ex.ToString());
}
finally
{
if (conn2 != null)
{
conn2.Close();
}
}
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
keyword = textBox1.Text;
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
conn2 = new MySqlConnection(cs2);
conn2.Open();
label3.ForeColor = Color.Green;
label3.Text = "En ligne";
}
catch (Exception)
{
label3.ForeColor = Color.Red;
label3.Text = "Hors ligne";
}
}
}
} |
Donc dans mon wampserver, j'ai laisser le DataBase "test", puis j'ai créer une table dedans qui se nomme "accounts" dedans, il y a ceci:
-userid
-password
Je voudrais savoir pourquoi sa ne fonctionne pas?
Car j'ai créer un utilisateur comme test qui est userid = test et mdp = test!
je rentre test pour l'utilisateur et mdp, mais sa ne m'affiche pas le message box pour voir si je me suis vraiment connecter avec cet utilisateur!
Merci d'avance!
EDIT: J'ai réussi a rajouter un système d'inscription:
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
| using DevComponents.DotNetBar.Metro;
using MySql.Data.MySqlClient;
namespace _2D_Gamers
{
public partial class Register : MetroForm
{
string myConnection = "datasource=localhost;port=3306;username=root;password=";
public Register()
{
InitializeComponent();
}
private void Register_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
if (this.textBox1.Text.Length != 0 & this.textBox2.Text.Length != 0 & this.textBox3.Text.Length != 0 & this.textBox4.Text.Length != 0)
{
string Query = "insert into test.accounts (username,password,email) values('" + textBox1.Text + "','" + textBox3.Text + "','" + this.textBox2.Text + "');";
MySqlConnection myConn = new MySqlConnection(myConnection);
MySqlCommand cmdDataBase = new MySqlCommand(Query, myConn);
MySqlDataReader myReader;
myConn.Open();
myReader = cmdDataBase.ExecuteReader();
MessageBox.Show("Enregistrement réussi!");
while (myReader.Read())
{
}
myConn.Close();
}
else
{
MessageBox.Show("Veiller vérifier!", "Données manquantes");
}
}
}
} |
Je voudrais savoir comment faire si le nom d'utilisateur et déjà utiliser ou non.
Puis le système de connexion a ma Base Sql de WampServer, j'ai fait comme ceci:
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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| using MySql.Data.MySqlClient;
namespace _2D_Gamers
{
public partial class Form1 : MetroForm
{
string myConnection = "datasource=localhost;port=3306;username=root;password=";
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
circularProgress1.Value += 10;
if (circularProgress1.Value == circularProgress1.Maximum)
{
timer1.Stop();
circularProgress1.Value = 0;
timer1.Start();
}
}
private void button2_Click(object sender, EventArgs e)
{
MySqlConnection myConn = new MySqlConnection();
MySqlCommand SelectCommand = new MySqlCommand("select * from test.accounts where username ='" + textBox1.Text + "' and password ='" + textBox2.Text + "';", myConn);
MySqlDataReader myReader;
myConn.Open();
myReader = SelectCommand.ExecuteReader();
int count = 0;
while (myReader.Read())
{
count = count + 1;
}
if (count == 1)
{
MessageBox.Show("Le nom d'utilisateur et le mot de passe est correct!");
}
else if (count > 1)
{
MessageBox.Show("Access denied");
}
else
{
MessageBox.Show("Wrong username and password");
}
myConn.Close();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
keyword = textBox1.Text;
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
conn2 = new MySqlConnection(cs2);
conn2.Open();
label3.ForeColor = Color.Green;
label3.Text = "En ligne";
}
catch (Exception)
{
label3.ForeColor = Color.Red;
label3.Text = "Hors ligne";
}
}
private void button3_Click(object sender, EventArgs e)
{
Register reg = new Register();
reg.ShowDialog();
}
}
} |
Sa me dit ceci:
Une exception non gérée du type 'MySql.Data.MySqlClient.MySqlException' s'est produite dans MySql.Data.dll
Informations supplémentaires*: Le hôte 'xxx' n'est pas authorisé à se connecter à ce serveur MySQL
Merci d'avance!
EDIT2:
J'ai trouver l'erreur!
Je m'explique, j'ai juste oublier de préciser quelle lien doit l'utiliser si c'était null, il va me dire que je peux pas y aller car il connait pas le lien!
Donc pour ce code:
MySqlConnection myConn = new MySqlConnection();
Je devrait le préciser le lien qui est dans cette variable:
string myConnection = "datasource=localhost;port=3306;username=xxx;password=xxx";
donc, je doit l'ajouter cette variable au code d'avant, donc sa va faire ceci:
MySqlConnection myConn = new MySqlConnection(myConnection);
Et là, je me connecte bien a mon server ou au site là: http://www.freesqldatabase.com/
Il y est gratuit jusqu'a 15 MB, donc mes questions suivantes est:
-Combien de personne peuvent s'inscrire?
-Comment faire pour le code d'enregistrement (Form: Register), qui vérifier si le nom d'utilisateur et pris?
-Créer un système de chat est faisable?
Si j'ai d'autre question, j'éditerais ce post ou je mettrais a la suit de vos messages!
Merci d'avance pour vos futur réponse!
Partager