COMMENT FAIRE UNE APPLI WEB C# AFFICHANT LE RESULTAT D?UNE REQUETE SQL DANS UN D

sarahsonia Messages postés 6 Date d'inscription vendredi 7 avril 2006 Statut Membre Dernière intervention 11 avril 2006 - 11 avril 2006 à 10:54
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 11 avril 2006 à 15:30
COMMENT FAIRE UNE APPLI WEB C# AFFICHANT LE RESULTAT D'UNE REQUETE SQL DANS UN DATAGRID


Bonjour à tous.
Je débute en c# et je suis completement perdue !
Je developpe une appli web composée d'un formulaire contenant deux combo box. On selectionne via les combobox ce que l'on veut voir. Puis le resultat de la requete sql est affiché dans un tableau. Voila le code que j'ai écrit, mais ca ne marche pas du tout. Je n'utilise petre pas les bonnes bibliotheques. HELP PLEASE !!!

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using Microsoft.AnalysisServices.AdomdClient;
using System.Web.UI.WebControls;



// Pour charger la base de données dans le dataGrid

// Crée une chaine de connexion
string sConnString ="database=mabase;server=monserveur;User ID=monlogin;pwd=monpassword";

// Déclaration de la requète MySQL
SqlDataAdapter MonAdapter = new SqlDataAdapter();

// Déclaration d'un dataset (cache en mémoire de données)
DataSet ds = new DataSet();

// Crée une chaine
string maCmd = "SELECT * FROM matable";

// Déclaration de la connexion MySQL
SqlConnection conn = new SqlConnection(sConnString);

// Ouverture de la connexion au serveur
conn.Open();

// Exécution d'une requète SELECT
MonAdapter.SelectCommand = new SqlCommand(maCmd, conn);

// Remplissage du dataset
MonAdapter.Fill(ds);

// Charge la table dans le dataGrid
DataGrid.DataSource = ds ;
DataGrid.DataMember = matable";


// Fermeture de la connexion au serveur
conn.Close();

7 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
11 avril 2006 à 11:16
Salut le provider contenu dans l'espace de nom System.Data.SqlClient est destiné uniquement à SQL Server de Microsoft, pour une base MySQL tu dois télécharger le bon provider sur le site de l'éditeur :






http://dev.mysql.com/downloads/
0
sarahsonia Messages postés 6 Date d'inscription vendredi 7 avril 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 12:19
Desolée j ai oublié de preciser que c'est du sql server
0
sarahsonia Messages postés 6 Date d'inscription vendredi 7 avril 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 12:20
Voici mon msg d erreur

Msg d'erreur :
An objet reference is required for the non static field, method or property System.Web.UI.WebControls.BaseDataList.DataSource.get

An objet reference is required for the non static field, method or property System.Web.UI.WebControls.BaseDataList.DataMember.get
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
11 avril 2006 à 12:46
Dans les commentaires de ton code tu parlais de MySQL c'est pour ça..

Regardes ces lignes :

DataGrid.DataSource = ds ;
DataGrid .DataMember = matable";

Tu utilises le nom de la classe au lieu d'une instance de la classe.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sarahsonia Messages postés 6 Date d'inscription vendredi 7 avril 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 13:24
Merci pour tes reponses !
Oupssssssss
Erreur dans le commentaire :p

Donc j'ai rajouté ceci :
DataGrid monDataGrid = new DataGrid();

monDataGrid.DataSource = ds;
monDataGrid.DataMember = matable;
monDataGrid.DataBind();


Je n'ai plus de message d'erreur mais rien ne s'affiche dans mon appli web :'(
Pourtant ma table est là
0
sarahsonia Messages postés 6 Date d'inscription vendredi 7 avril 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 13:39
ma fonction est dans public void maFonction(String maCmd)

et son appel est maFonction("select * from matable");
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
11 avril 2006 à 15:30
Remplace cette ligne :

MonAdapter.Fill(ds);

par :

MonAdapter.Fill(ds, "matable" ); // Donne un nom à ta table.

Il est possible de passer une table directement comme source :

monDataGrid.DataSource = ds.Tables[ 0 ]; // ou ds.Tables[ "matable" ]
0
Rejoignez-nous