Connection mysql asp.net C#

Résolu
cs_polo86 Messages postés 19 Date d'inscription samedi 14 février 2009 Statut Membre Dernière intervention 5 mai 2009 - 16 févr. 2009 à 16:15
erassia Messages postés 14 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 13 avril 2010 - 26 mars 2009 à 18:19
salut,


Je réalise un projet (site web) sous visual studio 2008 avec une db mysql.

J'ai donc installé le connector 5.2 de mysql, j'ai ajouté la db à
l'explorateur de serveur. J'ai ensuite ajouté la connectionString dans
le web.config (sans être sûr)


<connectionStrings>



</connectionStrings>


J'ai ensuite une classe qui me retourne la connectionString et providerName via une propriété Get.

Je veux ensuite faire une classe "genericDataAccess" qui crée la commande.

Celle-ci est reçue d'une autre classe.


Je joins la classe : "genericDataAccess" que j'utilise avec sqlServer mais que je n'arrive pas à mettre en place pour mysql.

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.Common;

/// <summary>
/// Description résumée de GenericDataAccess
/// </summary>
public static class GenericDataAccess
{
    static GenericDataAccess()
    {
    }
    public static DataTable ExecuteSelectCommand(DbCommand command)
    {
        DataTable table;
        try
        {
            command.Connection.Open();
            DbDataReader reader = command.ExecuteReader();
            table = new DataTable();
            table.Load(reader);
            reader.Close();
        }
        catch (Exception ex)
        {
            Utilities.LogError(ex);
            throw ex;
        }
        finally
        {
            command.Connection.Close();
        }
        return table;
    }
    public static DbCommand CreateCommand()
    {
        string dataProviderName = Configuration.DbProviderName;//Classe qui renvoie via les propriétés les valeurs
        string connectionString = Configuration.DbConnectionString;
        DbProviderFactory factory = DbProviderFactories.GetFactory(dataProviderName);
        DbConnection conn = factory.CreateConnection();
        conn.ConnectionString = connectionString;
        DbCommand comm = conn.CreateCommand();
        comm.CommandType = CommandType.StoredProcedure;
        return comm;
    }
   
}


Merci de vos propositions

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
16 févr. 2009 à 19:19
3
cs_polo86 Messages postés 19 Date d'inscription samedi 14 février 2009 Statut Membre Dernière intervention 5 mai 2009
16 févr. 2009 à 16:57
Mon problème c'est que je ne sais pas comment je dois adapter le code
de la classe "genericDataAcces" que j'ai et qui fonctionne avec une db
sql server pour le mettre en place avec mysql.


j'ai déclaré un objet (il me dit déjà qu'il me manque un using mais je sais pas lequel)


private MySqlConnection Connection = new MySqlConnection();


Connection.ConnectionString = config.DbConnectionString;//connection string reçue de la classe


Connection.Open();


Après avoir ouvert la connection, je ne sais pas si je dois réutiliser
un DbDataReader?Est ce qu'on utilise un objet DbCommand avec mysql'un
objet DbProviderFactory? et comment est ce qu'on appelle une procédure
stockée?


Je suis un peu perdu car je n'ai jamais utilisé mysql et je n'ai pas le choix pour mon mémoire.


En fait mon problème est que je voudrais utiliser le mécanisme que
j'avais mis en place pour un site web avec une db sql server avec à la
place une db mysql.


merci
0
erassia Messages postés 14 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 13 avril 2010
26 mars 2009 à 18:19
bonjour polo86
si vous me pouvez m'explicer comment avez vous ajoute la base de donné à l'explorateur de serveur
merci d'avance

Assia=>
0
Rejoignez-nous