DIVERS CLASSES POUR UTILISER MYSQL , ACCESS , SQL SERVER

cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009 - 13 févr. 2006 à 20:41
chakiraziza Messages postés 8 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 28 octobre 2010 - 29 juil. 2008 à 11:47
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/36034-divers-classes-pour-utiliser-mysql-access-sql-server

chakiraziza Messages postés 8 Date d'inscription mercredi 17 janvier 2007 Statut Membre Dernière intervention 28 octobre 2010
29 juil. 2008 à 11:47
-----------------Urgent------------------

Bonjour;
Je voulais juste te remercier pour ton code;
--ce code n'affiche rien dans mon écran. :(
--Probléme :
je veux recuperer les résultats d'une requête SQL dans un
gridview.
si tu peux me dire comment le faire.
Merci d'avance.
judicator Messages postés 3 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 14 janvier 2008
14 janv. 2008 à 03:53
Administrateur doit etre un utilisateur sous sql server et non un utilisateur Windows ....... tu ne peux pas t'enregistrer avec les comptes microsofts de la machine car cette classe est faite pour une utilisation distance et non locale.

regarde comment te connecter de maniere TCP avec ton serveur SQL
cs_rinuom99 Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 21 septembre 2014 1
13 janv. 2008 à 01:10
salut
j'ai essayé ton la classe de sql server, mais il m'affiche l'exception suivante "Login failed for user 'Administrateur'. The user is not associated with a trusted SQL Server connection."

si tu peux me dis ou se trouve le probleme, je suis encore débutant .
merci d'avance
judicator Messages postés 3 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 14 janvier 2008
7 nov. 2007 à 23:50
Pour ceux qui se demandent comment convertir une string en string de base64 voici le code :

byte[] enByte = System.Text.ASCIIEncoding.ASCII.GetBytes(Texte-A-Convertir);
string texteConvertis = System.Convert.ToBase64String(enByte);
return texteConvertis;

Deux textbox et un bouton et le tour est joué ;)
judicator Messages postés 3 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 14 janvier 2008
7 nov. 2007 à 23:45
Je ne sais pas si cela vous interesse mais bon, au cas ou je vous files les modifs que j'ai faite pour celui de mysql (mais c'est applicable aussi pour les deux autres sans soucis)
Modifs :
- Protections des données concernant la connexion de la base de donnée afin de ces données n'apparaissent pas en clair dans l'exe via notepad
- Conversion de la classe en dll, permetant ainsi d'eviter d'ajouter MySql.Data dans le projet principal
- Donne la possibilité de transmettre ses variables de maniere encodée
- Ajout d'une fonction de construction de la string de connexion afin de simplifier le code

Debut du code :

using System;
using System.Collections.Generic;
using System.Text;
using MySql.Data.MySqlClient;
using System.Data;
using System.Windows.Forms;

///Annonce : Chaque variable string est encodée en Base64

namespace MySql
{
public class MySql
{
//définition des variables de classe
private String srv;
private String db;
private String user;
private String pwd;
private MySqlConnection cnx;

public MySql(String unSrv,String uneDb ,String unUser,String unPwd, bool encrypt)
{
srv = unSrv;
db = uneDb;
user = unUser;
pwd = unPwd;
//définition de la connection
string chaineCnx = this.BuildConString(true, encrypt);
cnx = new MySqlConnection();
cnx.ConnectionString = chaineCnx;
}

public MySql(String unSrv, String unUser, String unPwd, bool encrypt)
{
srv = unSrv;
user = unUser;
pwd = unPwd;
//définition de la connection
string chaineCnx = this.BuildConString(false, encrypt);
cnx = new MySqlConnection();
cnx.ConnectionString = chaineCnx;
}
//methode qui permet d'executer une requete sans retour d'info
public string executRqt(String uneRqt)
{
try
{
if(cnx.State == System.Data.ConnectionState.Closed)
{
cnx.Open();
}
MySqlDataAdapter da = new MySqlDataAdapter();
da.SelectCommand = new MySqlCommand(uneRqt,cnx);
da.SelectCommand.ExecuteNonQuery();
return "ok";
}
catch(Exception e)
{
return e.Message;
}
}
public DataSet getDataSet(String uneRqt)
{
if(cnx.State == System.Data.ConnectionState.Closed)
{
cnx.Open();
}
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(uneRqt,cnx);
da.Fill(ds);
return ds;

}
public void closeCnx()
{

cnx.Close();
}

private string Decrypt(string EncodedString)
{
string returnValue = string.Empty;
try
{
byte[] encodedDataAsBytes = System.Convert.FromBase64String(EncodedString);
returnValue = System.Text.ASCIIEncoding.ASCII.GetString(encodedDataAsBytes);
}
catch { }
return returnValue;
}

private string BuildConString(bool complet, bool decryptvar)
{
StringBuilder MySqlConString = new StringBuilder();
if (decryptvar)
{
if (complet)
{
MySqlConString.Append(this.Decrypt("RGF0YWJhc2U9"));
MySqlConString.Append(this.Decrypt(this.db));
MySqlConString.Append(this.Decrypt("O0RhdGEgU291cmNlPQ=="));
}
else
{
MySqlConString.Append(this.Decrypt("RGF0YSBTb3VyY2U9"));
}
MySqlConString.Append(this.Decrypt("O0RhdGEgU291cmNlPQ=="));
MySqlConString.Append(this.Decrypt(this.srv));
MySqlConString.Append(this.Decrypt("O1VzZXIgSWQ9"));
MySqlConString.Append(this.Decrypt(this.user));
MySqlConString.Append(this.Decrypt("O1Bhc3N3b3JkPQ=="));
MySqlConString.Append(this.Decrypt(this.pwd));
}
else
{
if (complet)
{
MySqlConString.Append(this.Decrypt("RGF0YWJhc2U9"));
MySqlConString.Append(this.db);
MySqlConString.Append(this.Decrypt("O0RhdGEgU291cmNlPQ=="));
}
else
{
MySqlConString.Append(this.Decrypt("RGF0YSBTb3VyY2U9"));
}
MySqlConString.Append(this.srv);
MySqlConString.Append(this.Decrypt("O1VzZXIgSWQ9"));
MySqlConString.Append(this.user);
MySqlConString.Append(this.Decrypt("O1Bhc3N3b3JkPQ=="));
MySqlConString.Append(this.pwd);
}
return MySqlConString.ToString();
}
}
}
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
24 mars 2007 à 10:50
Oups j'ai rien dit, j'ai oublié de l'ajouter :d
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
24 mars 2007 à 10:41
La référence "using MySql.Data.MySqlClient;" ne fonctionne pas chez moi :(
neoben4 Messages postés 2 Date d'inscription mercredi 20 octobre 2004 Statut Membre Dernière intervention 18 avril 2006
18 avril 2006 à 15:58
Bonjour à tous,

J'essaie de faire une connection sur une base MySQL se trouvant sur un poste distant(en réseau)avec VS.NET 2005(C#).J'ai ajouté le MySql.Data.dll à mon projet ainsi que la classe "MySqlCnx.cs", j'ai configuré mon gridview pour qu'il se charge à partir du DataSet généré par la requête ci dessous et j'ai utilisé la classe comme ceci dans mon formulaire.aspx.cs:
MonframeWork.BaseDeDonnees.MySqlCnx Conn = new MonFrameWork.BaseDeDonnees.MySqlCnx("nomduPC","nomdelabase","loginbase","mdpbase");
Conn.getDataSet("Select * from table);

Remarque: le compte a tous les droits pour accéder à la BD.
voici mon message d'erreur que j'obtiens sous IE:

No parameterless constructor defined for this object



merci d'avance
guillaume78fr Messages postés 1 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 4 avril 2006
4 avril 2006 à 14:50
Bonjour,

Je voulais juste te remercier pour ton iniative. En effet, ce n'est pas un code révolutionnaire, mais au moins ça donne un très bon exemple.
Pour ma part, je suis sur MySQL et la documentation pour les connecteurs dotnet est carrément succinte. Au moins là, c'est très clair.

Merci encore.
bernie666 Messages postés 427 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 29 janvier 2008 1
18 févr. 2006 à 15:19
slt tu peux le recuperer à cette adresse

http://dev.mysql.com/downloads/connector/net/1.0.html
catamenia Messages postés 119 Date d'inscription mercredi 15 octobre 2003 Statut Membre Dernière intervention 21 juillet 2009
18 févr. 2006 à 13:41
bonjour,
Comment récupère t'on le provider mysql.data?
merci
bernie666 Messages postés 427 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 29 janvier 2008 1
14 févr. 2006 à 18:28
hummm niquel :) tres interessant je connaissais pas du tout mais c'est vrai que sa économise le clavier :) thx ;)

++
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
14 févr. 2006 à 18:14
C'est tout simple, un petit exemple sur la MSDN : )

http://msdn.microsoft.com/library/en-us/csspec/html/vclrfcsharpspec_10_10_6.asp
bernie666 Messages postés 427 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 29 janvier 2008 1
14 févr. 2006 à 16:40
euh tu peux etre plus clair sur ta syntaxe ? je ne la connais pas mais je suis interessé pour voir ce que cela donne. Moi j'ai juste utilisé une surcharge basic. Donc si tu peux me donner une autre solution de surcharge plus optimisée je suis preneur mais détail moi ça dans un code concret stp :)

Bonne journée
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
14 févr. 2006 à 01:17
Salut, au lieu d'écrire deux fois le même code dans les constructeurs, il est préférable d'utiliser cette syntaxe :

public MyClass( .. ) : this( .. ) { .. }
cs_wizad Messages postés 355 Date d'inscription samedi 30 octobre 2004 Statut Membre Dernière intervention 14 avril 2009
13 févr. 2006 à 20:41
Citées et pas sitées
Rejoignez-nous