Divers classes pour utiliser mysql , access , sql server

Soyez le premier à donner votre avis sur cette source.

Vue 22 347 fois - Téléchargée 4 752 fois

Description

Suite à divers demande sur le forum je vous propose 3 classes que je me suis fait afin de pouvoir utiliser les bases de données citées plus haut :)

Source / Exemple :


Ces classes permettent : 
- de ce connecter / déconnecter à la base de données
- d'executer une requete qui ne renvoie pas de jeux d'enregistrement (insert , update , delete)
- d'executer une requete qui renvoie un jeux d'enregistrement (renvoi un dataset)

Pour la classe de connexion à mySql il faut au préalable récuperer le provider adéquat (MySql.Data)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

chakiraziza
Messages postés
8
Date d'inscription
mercredi 17 janvier 2007
Statut
Membre
Dernière intervention
28 octobre 2010

-----------------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

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
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

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

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();
}
}
}

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.