begin process at 2008 08 08 21:45:09
1 223 607 membres
365 nouveaux aujourd'hui
14 230 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 !

DIVERS CLASSES POUR UTILISER MYSQL , ACCESS , SQL SERVER


Information sur la source

Catégorie :Base de données Source .NET ( DotNet ) Classé sous : bdd, mysql, access, sqlserveur, basededonnées Niveau : Initié Date de création : 13/02/2006 Date de mise à jour : 13/02/2006 20:57:13 Vu / téléchargé: 13 265 / 3 843

Note :
Aucune note

Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note


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

  • 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)
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)
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

13 février 2006 20:55:37 :
* coup de tipex *
13 février 2006 20:57:13 :
* coup de tipex *
  • signaler à un administrateur
    Commentaire de wizad le 13/02/2006 20:41:29

    Citées et pas sitées

  • signaler à un administrateur
    Commentaire de Lutinore le 14/02/2006 01:17:36 administrateur CS

    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( .. ) { .. }

  • signaler à un administrateur
    Commentaire de bernie666 le 14/02/2006 16:40:06

    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

  • signaler à un administrateur
    Commentaire de Lutinore le 14/02/2006 18:14:46 administrateur CS

    C'est tout simple, un petit exemple sur la MSDN : )

    http://msdn.microsoft.com/library/en-us/csspec/html/vclrfcsharpspec_10_10_6.asp

  • signaler à un administrateur
    Commentaire de bernie666 le 14/02/2006 18:28:46

    hummm niquel :) tres interessant je connaissais pas du tout mais c'est vrai que sa économise le clavier :) thx ;)

    ++

  • signaler à un administrateur
    Commentaire de catamenia le 18/02/2006 13:41:16

    bonjour,
    Comment récupère t'on le provider mysql.data?
    merci

  • signaler à un administrateur
    Commentaire de bernie666 le 18/02/2006 15:19:42

    slt tu peux le recuperer à cette adresse

    http://dev.mysql.com/downloads/connector/net/1.0.html

  • signaler à un administrateur
    Commentaire de guillaume78fr le 04/04/2006 14:50:57

    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.

  • signaler à un administrateur
    Commentaire de neoben4 le 18/04/2006 15:58:20

    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

  • signaler à un administrateur
    Commentaire de Jordan59 le 24/03/2007 10:41:22

    La référence "using MySql.Data.MySqlClient;" ne fonctionne pas chez moi :(

  • signaler à un administrateur
    Commentaire de Jordan59 le 24/03/2007 10:50:55

    Oups j'ai rien dit, j'ai oublié de l'ajouter :d

  • signaler à un administrateur
    Commentaire de judicator le 07/11/2007 23:45:36

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

  • signaler à un administrateur
    Commentaire de judicator le 07/11/2007 23:50:21

    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é ;)

  • signaler à un administrateur
    Commentaire de rinuom99 le 13/01/2008 01:10:47

    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

  • signaler à un administrateur
    Commentaire de judicator le 14/01/2008 03:53:45

    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

  • signaler à un administrateur
    Commentaire de chakiraziza le 29/07/2008 11:47:41

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

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS