begin process at 2008 09 06 08:50:31
1 237 664 membres
61 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Requete Select et Odbc [ Archives / Base de données ] (cispo)

Requete Select et Odbc le 07/01/2006 19:27:54

cispo
Bonsoir,

Pour me connecter à ma base de données Access, j'utilise ODBC afin d'ouvrir ma base en mode exclusif. La connexion fonctionne mais j'ai un problème pour récupérer les données. J'utilise le code suivant :

public DataTable Requete_Select_Param(OdbcCommand requete)
        {
            OdbcConnection Cnx = new OdbcConnection();
            DataTable Dtable = new DataTable();
           OdbcDataAdapter Da = new OdbcDataAdapter();
          
            try
            {
               Cnx.ConnectionString=@"Driver={Microsoft Access Driver (*.mdb)};Dbq=D:\base.mdb;Exclusive=1;";
                requete.Connection = Cnx;
                Cnx.Open();
               
                Da = new OdbcDataAdapter(requete);
                   Da.Fill(Dtable);
            }
            catch(OdbcException Ex)
            {
                MessageBox.Show(Ex.Message);
            }
           return Dtable;
        }

La compilation fonctionne, mais quand je lance mon application, une erreur est levée sur la ligne Da.Fill(Dtable); et l'erreur est : Trop peur de paramètres 2 attendus.

Pourtant, d'après le site MSDN, il est possible d'utiliser cette méthode Fill pour remplir ma DataTable. ( [ Lien ])

Quelqu'un a une idée ?

Merci d'avance,


Re : Requete Select et Odbc le 08/01/2006 15:59:08

Homerrrrr
C'est bizarre moi j'ai essayé ton code comme ça  :

            OdbcConnection Cnx = new OdbcConnection();
            DataTable Dtable = new DataTable();
            OdbcDataAdapter Da = new OdbcDataAdapter();
            OdbcCommand requete = new OdbcCommand();

            requete.CommandText = "SELECT * FROM t_joueur";
         
            try
            {
                Cnx.ConnectionString=@"Driver={Microsoft Access Driver (*.mdb)};Dbq=D:\Mes documents\Visual Studio                                     Projects\base.mdb;Exclusive=1;";
                requete.Connection = Cnx;
                Cnx.Open();
              
                Da = new OdbcDataAdapter(requete);
                Da.Fill(Dtable);
            }
            catch(OdbcException Ex)
            {
                MessageBox.Show(Ex.Message);
            }



Et ça fonctionne, ma Dtable est bien remplie.

Es-tu sur d'avoir défini le commandtext de ton objet OdbcCommand lorsque tu appelles ta fonction public DataTable Requete_Select_Param(OdbcCommand requete) ?

Ou si tu l'as défini, je pense qu'il y a une erreur dans ta requête mais je ne suis pas sur.

Re : Requete Select et Odbc le 08/01/2006 17:08:53

cispo
Hello,
En effet, cela fonctionne avec une requête basique mais j'utiliser les OdbcParameters :
Je procède ainsi:
Dans la classe de mon formulaire :

OdbcDataAdapter Da = new OdbcDataAdapter();
OdbcCommand myCommand = new OdbcCommand("SELECT Statut FROM UTILISATEUR WHERE login=@login AND password=@password;");

OdbcParameter login = new OdbcParameter("@login",OdbcType.VarChar);
login.Value = Tlogin.Text.Trim();

OdbcParameter password = new OdbcParameter("@password",OdbcType.VarChar);
password.Value = Tpwd.Text.Trim();//on lui affecte une valeur

myCommand.Parameters.Add(login);
myCommand.Parameters.Add(password);

Da.SelectCommand = myCommand;
Dt = MaClass.Requete_Select_Param2(Da);


Et dans ma dll de traitement je fais ceci :

public DataTable Requete_Select_Param2(OdbcDataAdapter Da)
{
OdbcConnection Cnx = new OdbcConnection();
DataTable Dtable = new DataTable();
 try
{
Cnx.ConnectionString=@"Driver={Microsoft Access Driver (*.mdb)};Dbq=D:\Sicav vide.mdb;Exclusive=1;";
Da.SelectCommand.CommandType = CommandType.TableDirect;
Da.SelectCommand.Connection = Cnx;
Cnx.Open();
Da.Fill(Dtable);
}
catch(OdbcException Ex)
{
 MessageBox.Show(Ex.Message);
}
return Dtable;
}

Et j'obtiens toujours le même message d'erreur :/




Classé sous : requete, select, datatable, cnx, dtable

Participer à cet échange

Pub



Appels d'offres

Snippets en rapport

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS