CONNEXION À UNE BASE DE DONNÉE SQL DANS UNE PAGE ASPX DÉVELOPPÉ EN C#

georgeduke Messages postés 167 Date d'inscription dimanche 6 février 2005 Statut Membre Dernière intervention 13 avril 2007 - 29 mai 2005 à 09:25
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013 - 30 août 2009 à 22:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31188-connexion-a-une-base-de-donnee-sql-dans-une-page-aspx-developpe-en-c

hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
30 août 2009 à 22:05
ahhh je suis de retour pour de nouvelles eXPériences :D
chakiraziza Messages postés 8 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 28 octobre 2010
29 juil. 2008 à 10:44
-------------Urgent----------------
Bonjour;
J'ai essayé ce code et le résutat était superbe.
mais j'ai un autre probléme :(
je veux recuperer les resultats dans une gridview .
cs_moha1978 Messages postés 4 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 13 mars 2008
29 févr. 2008 à 02:09
Meci ca m'a aidé
samia00 Messages postés 1 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 5 juillet 2007
5 juil. 2007 à 18:24
salut tt le monde je vien de voir ce code source qui permet d'établir la connex mais je commence la programmation avec le c# mais là quand je fé un copier coller sur mon visual studio 2005 on me souligne : SqlConnection MyConn et SQlCommand en bleu et je ne comprend pa prq :s

Ps: je debute LOL

merci tt le monde
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
23 mai 2007 à 18:32
Salut essaie de voir tes propriétés de sécurité sur SQL
DigigtalDJ Messages postés 10 Date d'inscription mercredi 1 novembre 2006 Statut Membre Dernière intervention 14 janvier 2010
23 mai 2007 à 15:53
ah ouai... c'est bien ca... lol MERCI BCP!^^

appart que maintenant il devient embetant ailleurs... :s :

Description :

Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.


Détails de l'exception:

System.Data.SqlClient.SqlException: Échec de l'ouverture de session de l'utilisateur 'PROD006\nagy-levente'. L'utilisateur n'est pas associé à une connexion SQL Server approuvée.


je trouve de reponse concrete nulle part... :'(
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
23 mai 2007 à 14:06
et si tu essayais avec un s majuscule pour System.Data.SqlClient;
DigigtalDJ Messages postés 10 Date d'inscription mercredi 1 novembre 2006 Statut Membre Dernière intervention 14 janvier 2010
23 mai 2007 à 11:25
Salut ! je debut en asp codé en C# et ce code ma bien aider et je vous remerci tous de vos post.
Mais il me marque un p'tit probleme kan jai recopier et adapater le code :

CS0246: Le type ou le nom d'espace de noms 'system' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)



Ligne 1 : using System;
Ligne 2 : using System.Data;
=>>> Ligne 3 : using system.Data.SqlClient;
Ligne 4 : using System.Configuration;
Ligne 5 : using System.Web;

Je sais pas quoi lui repondre... lol :)

Je developpe une appli pour mon stage et ca sera mon maitre de stage qui serai content ^^.

Quelqu'un pourrai m'aider ca serai super simpas merci!^^
cs_6miK Messages postés 61 Date d'inscription mardi 10 avril 2007 Statut Membre Dernière intervention 5 avril 2011
12 avril 2007 à 13:49
le problème est réglé.
finalement, j'ai fait appel à ODBC pour faire le lien xD
cs_6miK Messages postés 61 Date d'inscription mardi 10 avril 2007 Statut Membre Dernière intervention 5 avril 2011
12 avril 2007 à 10:02
j'ai essayé de modifier en faisant ainsi :
SqlConnection MyConn = new SqlConnection("server=localhost;uid=root@localhost;database=C:\Program Files\EasyPHP1-8\mysql\data\support");

mais toujours une erreur sur cette ligne.

Server Error in '/' Application.

l'espace de programe file est il genant ?
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
11 avril 2007 à 21:18
dans ta ligne SqlConnection("server=localhost;uid=root@localhost;database=C:/Program Files/EasyPHP1-8/mysql/data/support");

là où il database=C:/... tu remplace / par \
cs_6miK Messages postés 61 Date d'inscription mardi 10 avril 2007 Statut Membre Dernière intervention 5 avril 2011
11 avril 2007 à 15:08
salut, j'ai essayé ceci :

void Page_Load(object sender, EventArgs e)
{
SqlConnection MyConn = new SqlConnection("server=localhost;uid=root@localhost;database=C:/Program Files/EasyPHP1-8/mysql/data/support");

SqlCommand MyCom = new SqlCommand("SELECT * FROM client",MyConn);

MyConn.Open();
SqlDataReader DR = MyCom.ExecuteReader();

if (DR.Read())
{
lblAfficheData.Text = DR["nomC"].ToString();
}
}
}



et j'obtiens :

Server Error in '/' Application.
Source Error:

[No relevant source lines]

PS : je n'utilise pas de mot de passe pour le local et je n'ai jamais touché à l'asp ni au c# au part avant.

Merci de bien vouloir m'expliquer en m'accordant un peu de votre temps
cs_eudora Messages postés 1 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 10 avril 2007
10 avril 2007 à 11:24
Salut, j'ai essayé ce petit de code et le résutat était superbe .
vous pouvez m'aider comment afficher le résultat d'une base de donnée ( select * from ....) dans un tableau .j'ai trouvé cette technique avec le sqldatasource(Gridviewer) .mis j'aimerais bien programmer ça avec c#.
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
21 mars 2007 à 22:06
oui mais justement, je ne sais pas comment faut faire pour récupérer la valeur du champ Gender, et je ne sais pas non plus comment acceder à la zone texte de mon DetailView, :-s
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
21 mars 2007 à 22:01
ben tu fait tu crée une variable qui permet de récupérer la valeur du champ "Genre" si la valeur est F alors dans la zone de texte de ton DetailView tu met Feminin sinon tu met Masculin
lol...
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
21 mars 2007 à 21:51
oui j'utilise asp.net 2.0
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
21 mars 2007 à 21:50
tu développe sous quel logiciel ? tu utilise .Net ?
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
21 mars 2007 à 21:42
et n'oublie pas que je n'ai pas de DR dans mon code, mes données viennent de ceci :
"
SelectCommand="SELECT * FROM [user]
INNER JOIN country ON user.countrycode = country.countrycode
WHERE ([id] = @id)">
<SelectParameters>

</SelectParameters>
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
21 mars 2007 à 21:39
petite erreur a rectifier dans le code juste au dessus (pour le SortExpression c'est pas "countrycode mais sex)
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
21 mars 2007 à 21:37
cmt je dois faire, je remplace cette ligne :

par :




????
et j'accède comment au label ?? ou il faut faire complètement autrement ?
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
21 mars 2007 à 21:28
tu le met dans ta feuille de code .cs
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
21 mars 2007 à 21:27
je le met ou ? par rapport à l'exemple que j'ai donné ,
n'oublie pas que c'est un champ qui se trouve dans un DetailsView.
il se trouve comme ceci pour le moment :
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
21 mars 2007 à 20:39
if (DR[TonChampConcerné].ToString = f)
{
ZoneDeText.Text = "féminin";
}
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
21 mars 2007 à 19:46
C'est encore moi, j'ai une nouvelle question mais je ne sais pas ou je peux la poster, peut-être pourriez vous m'aider à réorienté ma question dans le bon forum, ou alors peut-être que vous saurez me répondre directement.
En fait j'utilise un DetailsView pour afficher les données d'un utilisateur et celui-ci est lié à un SqlDataSource (avec les données du user), ce qu'il y a dans mon SqlDataSource, se sont des infos comme le nom, le sexe, l'âge, etc, mais ces infos par exemple pour le sexe sont représenté comme ceci dans ma base de donnée, M pour masculin et F pour féminin, hors ce que j'aimerais afficher dans mon DetailsView évidemment se serait masculin et féminin et non F ou M, pareil pour l'âge, celui-ci étant représenté comme ceci : 25/11/1983, et j'aimerais le représenter comme ceci, 25 novembre 1983, dans mon DetailsView.
Petit exemple :

"
SelectCommand="SELECT * FROM [user]
INNER JOIN country ON user.countrycode = country.countrycode
WHERE ([id] = @id)">
<SelectParameters>

</SelectParameters>


<Fields>






'>


</Fields>


Comment dois-je faire ? Avez-vous compris ce que j'aimerais ?

Merci d'avance
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
21 mars 2007 à 18:52
Et on n'utilise pas de requêtes dynamiques par concaténation mais plutôt des requêtes paramétrées => http://msdn2.microsoft.com/fr-fr/library/ms161953.aspx
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
20 mars 2007 à 16:45
c'était bien à cause du tréma, je l'avais même pas vu, pour le command.ExecuteNonQuery j'avais trouvé sur le net. Merci encore Hisham ;-)
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
20 mars 2007 à 16:26
dans le mot UPDATE il y a un U tréma soit Ü ça vien pas de là lol et pour une update on met pas command.executereader
c'est command.ExecuteNonQuery();
et apres dr.close
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
20 mars 2007 à 14:10
oups, j'ai fait une petite erreur en retranscrivant, c'est pas SqlCommand command = command = new SqlCommand("SELECT....... mais SqlCommand command = new SqlCommand("SELECT.......
j'attend votre aide avec impatience ;-)
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
20 mars 2007 à 14:07
Hello, j'avais encore une question, c'est à propos de l'update, par exemple j'aimerais utiliser la valeur de se que j'ai récupéré avec mon select et l'utiliser pour faire mon update. Comment je dois faire? Car j'ai essayer mais cela ne marche pas. Voici ce que j'ai essayé :

SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand command command new SqlCommand("SELECT coursecode FROM student ", connection);
connection.Open();
SqlDataReader DR = command.ExecuteReader();
if (DR.Read())
{
command new SqlCommand("ÜPDATE course SET currentno (currentno-1) WHERE coursecode = '" + DR["coursecode"].ToString() + "'", connection);
DR.Close(); // j'ai mis ceci car je suppose qu'il le faut mais je suis pas sur, mais sans ça plante
command.ExecuteReader(); // ça plante ici !!!!! Incorrect syntax near 'currentno'
}

Merci d'avance
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
17 mars 2007 à 18:41
Voilà c'est fait code modifié...
De rien Saphir
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
17 mars 2007 à 18:36
Merci beaucoup en tout cas vous 2 :-)
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
17 mars 2007 à 18:35
Lol moi aussi je viens de m'apercevoir... Je modifier le code :)
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 mars 2007 à 18:34
Ha ba...
Si tu pouvais corriger la code pour queles prochains visiteurs n'aie pas à lire les commentaires, merci :-)
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 mars 2007 à 18:33
Humm, je viens de percuter que l'exemple dans le code n'est pas vraiment valide, il manque l'appel à Read, comme l'a dit Mx
Regarde plutôt l'exemple MSDN : http://msdn2.microsoft.com/fr-fr/library/system.data.sqlclient.sqlcommand.executereader(VS.80).aspx
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
17 mars 2007 à 18:32
Cela marche nickel maintenant,
merci beaucoup Hisham91
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
17 mars 2007 à 18:27
Ajoute

if (DR.Read())
{
Lecture de ta table
}
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
17 mars 2007 à 18:12
Merci, je m'en suis rendu compte 2 min après avoir poster en revérifiant avec
les noms des variables, exact, je m'étais trompé de nom. Mais j'ai encore un
problème quand j'exécute. J'ai ceci comme erreur : "Invalid attempt to read when no data is present." je ne comprend pas car il y a des données dans ma table.
Et je ne me suis pas trompé de nom de champs :-s

Merci COQ de m'avoir répondu si vite, ;-)
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
17 mars 2007 à 18:06
Salut,

Parce qu'elle est définie sur SqlCommand, pas SqlConnection :-)
Tu as dû te tromper de variable.
saphir54321 Messages postés 28 Date d'inscription mardi 3 octobre 2006 Statut Membre Dernière intervention 14 novembre 2007
17 mars 2007 à 18:01
Bonjour tout le monde,
j'ai essayer le bout de code plus haut mais j'ai un problème.
J'ai également mis ceci en haut de la page : using System.Data.SqlClient;
J'utilise visual studio 2005.
Voici l'erreur :
'System.Data.SqlClient.SqlConnection' does not contain a definition for
'ExecuteReader'
Je ne comprend pas trop pourquoi il ne contient pas cette définition de ExecuteReader.

Quelqu'un pourrait-il m'aider?

Merci d'avance
hisham91 Messages postés 57 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 23 janvier 2013
28 juin 2006 à 18:04
Cela est peut être dû au fait que sous visual studio , c'est généré dans les fichiers .cs et dans l'entete de page de web vérifie les propriétés des codes behind

@+
HaaaWaaaX Messages postés 6 Date d'inscription dimanche 18 juillet 2004 Statut Membre Dernière intervention 27 juin 2006
27 juin 2006 à 19:55
Moi ca marche tres bien sous Visual Studio... mais je ne sais pas pkoi dans ton cas ca ne marche pas :/
cs_googlo Messages postés 1 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 27 juin 2006
27 juin 2006 à 19:51
c'est super, j'ai testé le code sous webmatrix ,le resultat etait bon;mais sous visual studio ca n'a pas marché...????
pourquoi?
HaaaWaaaX Messages postés 6 Date d'inscription dimanche 18 juillet 2004 Statut Membre Dernière intervention 27 juin 2006
4 mars 2006 à 00:11
Exemple simple , clair, éfficace , bien commenté ... bon , j'arrete la pipe mais bon , si bcp d'exemples d'utilisation pouvaient etre aussi clair que celui ci ...
Merci en tout cas pour l'exemple.
HaaaWaaaX
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
29 mai 2005 à 10:49
Non, seulement la première valeur de 'Champ1' trouvée.
Pour avoir toutes les valeurs de 'Champ1', il faut faire
while(DR.Read)
{
DR["Champ1"].ToString();
}
georgeduke Messages postés 167 Date d'inscription dimanche 6 février 2005 Statut Membre Dernière intervention 13 avril 2007
29 mai 2005 à 09:25
Sympa ce bout de code ! Je suis étonné par ça :

lblAfficheData.Text = DR["Champ1"].ToString();

Comme je ne peux pas encore tester.. peut tu me dire ce que 'DR["Champ1"].ToString();' renvoie ?

Tous les champs 'champ1' ?

Merci !
Rejoignez-nous