Connexion à une base de données en local
Résolu
cocodu67...
Messages postés
3178
Date d'inscription
Statut
Membre
Dernière intervention
-
cocodu67... Messages postés 3178 Date d'inscription Statut Membre Dernière intervention -
cocodu67... Messages postés 3178 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Sous visual studio afin de mieux comprendre le fonctionnement d'une base de données j'ai créé une Form avec une textBoxNum, une textBoxNom et une textBoxMdp et pour le code j'ai mis
Le principe est simple, on marque un truc dans les textes box, on appuie sur le bouton et ça ajoute ce qu'on a marqué dans la table créée avec phpmyadmin en local.
Le problème c'est que ça me dit que la base de donnée est inexistante ou injoignable.
J'ai aussi testé avec user id = localhost mais ça ne fonctionne pas (localhost n'a pas de mot de passe).
Que dois-je faire ?
J'ai également testé :
Mais j'ai le message :
Une connexion a été établie avec le serveur, mais une erreur s'est ensuite produite pendant la négociation préalable à l'ouverture de session. (provider: TCP Provider, error: 0 - Une connexion existante a dû être fermée par l'hôte distant.)
Merci de votre aide.
Sous visual studio afin de mieux comprendre le fonctionnement d'une base de données j'ai créé une Form avec une textBoxNum, une textBoxNom et une textBoxMdp et pour le code j'ai mis
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 System.Data.SqlClient;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
SqlConnection maConnexion = new SqlConnection("Data Source=localhost;Initial Catalog=bdtest;User Id=test;Password=test;");
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SqlCommand maCommande = new SqlCommand();
maCommande.Connection = maConnexion;
maConnexion.Open();
maCommande.CommandText = "INSERT INTO tbltest (fldnum, fldnom, fldmdp) VALUES ("+ textBoxNum.Text + ", '" + textBoxNom.Text + ", "+ textBoxMdp.Text +"');";
maConnexion.Close();
}
}
}
Le principe est simple, on marque un truc dans les textes box, on appuie sur le bouton et ça ajoute ce qu'on a marqué dans la table créée avec phpmyadmin en local.
Le problème c'est que ça me dit que la base de donnée est inexistante ou injoignable.
J'ai aussi testé avec user id = localhost mais ça ne fonctionne pas (localhost n'a pas de mot de passe).
Que dois-je faire ?
J'ai également testé :
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 System.Data.SqlClient;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
SqlConnection maConnexion = new SqlConnection("Data Source=localhost,1027 ;Initial Catalog=bdtest;User Id=test;Password=test;");
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
SqlCommand maCommande = new SqlCommand();
maCommande.Connection = maConnexion;
maConnexion.Open();
maCommande.CommandText = "INSERT INTO tbltest VALUES (@maValeur1, @maValeur2, @maValeur3);";
// Puis on définit les valeurs
maCommande.Parameters.Add(new SqlParameter("@maValeur1", textBoxNum.Text));
maCommande.Parameters.Add(new SqlParameter("@maValeur2", textBoxNom.Text));
maCommande.Parameters.Add(new SqlParameter("@maValeur2", textBoxMdp.Text));
maConnexion.Close();
}
}
}
Mais j'ai le message :
Une connexion a été établie avec le serveur, mais une erreur s'est ensuite produite pendant la négociation préalable à l'ouverture de session. (provider: TCP Provider, error: 0 - Une connexion existante a dû être fermée par l'hôte distant.)
Merci de votre aide.
A voir également:
- Connexion à une base de données en local
- Gmail connexion - Guide
- Appdata local - Guide
- Base de registre - Guide
- Ip local - Guide
- Prix d'un appel local - Forum Vos droits sur internet
4 réponses
J'ai essayé
Et j'ai encore le même message d'erreur.
Après j'ai essayé ton code avec la ligne
Mais j'ai encore ce message d'erreur.
SqlCommand maCommande = new SqlCommand();
maCommande.Connection = maConnexion;
maConnexion.Open();
maCommande.CommandText = "INSERT INTO tbltest (fldnum, fldnom, fldmdp) VALUES (" + textBoxNum.Text + ", '" + textBoxNom.Text + "', '" + textBoxMdp.Text + "');";
maConnexion.Close();
Et j'ai encore le même message d'erreur.
Après j'ai essayé ton code avec la ligne
SqlConnection maConnexion = new SqlConnection("Data Source=localhost,1027 ;Initial Catalog=bdtest;User Id=root;Password=; ");
Mais j'ai encore ce message d'erreur.
C'est bon j'ai trouvé, j'ai utilisé https://dev.mysql.com/downloads/connector/cpp/ et https://webman.developpez.com/articles/aspnet/sqlparameter/csharp/
Merci à vous d'avoir essayé :)
Merci à vous d'avoir essayé :)
J'ai testé en cliquant sur l'icone de wamp serveur en bas à droite, je suis allé dans mysql puis mysql console et j'ai tenté d'accéder à la base de données et ça marche très bien, j'ai même fais un inser into en ligne de commande et ça marche. Je ne comprend pas ce qui ne va pas avec mon programme en c# :-(
Bonjour,
Il manque des apostrophes dans ta requête INSERT sur le 1er exemple
Essaie avec ça
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Il manque des apostrophes dans ta requête INSERT sur le 1er exemple
maCommande.CommandText = "INSERT INTO tbltest (fldnum, fldnom, fldmdp) VALUES ("+ textBoxNum.Text + ", '" + textBoxNom.Text + ", "+ textBoxMdp.Text +"');";
Essaie avec ça
maCommande.CommandText = "INSERT INTO tbltest (fldnum, fldnom, fldmdp) VALUES ("+ textBoxNum.Text + ", '" + textBoxNom.Text + "', '"+ textBoxMdp.Text +"');";
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Merci mais ça ne marche pas :-(
https://forums.commentcamarche.net/forum/affich-29580890-connexion-a-une-base-de-donnees-en-local#4
https://forums.commentcamarche.net/forum/affich-29580890-connexion-a-une-base-de-donnees-en-local#4