Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/04/2011, 12h59   #1
 
Inscription : décembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 34
Points : -8
Points : -8
Par défaut base de donnée et c#

bonjour,
Je veux connecter une base de donnée créer en SQL server a une application en c# pour ajouter et modifier des champs, mais lorsque j'ajoute un champ et je veux le modifier après je trouve ce champs vide dans la base de donnée.
Est ce que vous pouvez m'aider pour résoudre ce problème.
Merci d‘avance.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
try
                {
                    Program.connexion.Open();
                    Program.commande = new SqlCommand("UPDATE  access SET pass=  '" + password.Text + "'" + "  where username='" + user.Text + "'", Program.connexion);
 
                     Program.commande.ExecuteReader();
 
 
 
                    MessageBox.SHOW("Modifier avec succer", "Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception z) { MessageBox.SHOW(z.ToString()); }
                Program.connexion.Close();
azert2010 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 13h19   #2
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Program.connexion.Open();
Program.commande = new SqlCommand("UPDATE access SET pass= '" + password.Text + "'" + " where username='" + user.Text + "'", Program.connexion);

Program.commande.ExecuteReader();
Un commande.executenonQuery() se sera mieux...

Citation:
SET pass= '" + password.Text + "'" + " where username='" + user.Text + "'"
A bannir,vous devez passer par des sqlparameter pour passer vos paramètre au lieu de construire votre requête par concatenation...
Vous vous exposez directement à des attaques par injection SQL...

Voyez le lien suivant:
http://msdn.microsoft.com/fr-fr/libr...(v=vs.80).aspx
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 13h21   #3
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
Bonjour

êtes-vous sûr des valeur de password.Text et user.Text ?

qu'entendez-vous par
Citation:
mais lorsque j'ajoute un champ
Tel que vous construisez la requête, je pense également que vous êtes vulnérables aux injections SQL... vous devriez plutôt utiliser les requetes parametrées ou des procédures stockées...
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h52.


 
 
 
 
Partenaires

Hébergement Web