cs_polo86
Messages postés19Date d'inscriptionsamedi 14 février 2009StatutMembreDernière intervention 5 mai 2009
-
16 févr. 2009 à 16:15
erassia
Messages postés14Date d'inscriptionsamedi 22 novembre 2008StatutMembreDernière intervention13 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;
}
cs_polo86
Messages postés19Date d'inscriptionsamedi 14 février 2009StatutMembreDerniè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.