Database access, sql wrapper

Soyez le premier à donner votre avis sur cette source.

Vue 15 000 fois - Téléchargée 1 343 fois

Description

cDatabase est un projet qui permet d'interragir avec access,sql server d'une facons simple et efficace.
Le projet contient deux classe principal dont cAccess et cSql
les deux classe vous permettre d'ouvrir une connection, faire la lecture d'une table,effacer des enregistrements dans une table ou encore d'ajouter des enregistrements.
Une gestion d'exception et effectuer a l'interieur de chaque classe donc il vous ait possible de recuperer les erreur d'utilisation avec les deux classe suivantes soit cAccessException ou cSqlException dependament de quel classe vous vous servez..
j'espere bien simplifier la tache de certains d'entre vous pi pour tout commentaire gener vous pas je suis ouvert a m'ameliorer....

Source / Exemple :


using System;
using System.Data.OleDb;
using System.Windows.Forms;

namespace cDatabase
{
	/// <summary>
	/// Summary description for cAccess.
	/// </summary>
	/// 
	public class cAccessException:Exception 
	{
		private string errorMessage;

		public override string Message
		{
			get
			{
				return this.errorMessage ;
			}
		}

		public cAccessException(string ErrorMessage)
		{
			this.errorMessage = ErrorMessage;
		}
		public override string ToString()
		{
			return this.errorMessage;
		}
	}

	public class cAccess
	{
		private OleDbConnection oConn = new OleDbConnection();
		private OleDbCommand oCmd = new OleDbCommand();
		
		private string Provider= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
		private string Security= ";Persist Security Info=False";
		private string Security2=";Jet OLEDB:Database Password=";
		private string Security3="User Id=";
		
		public OleDbConnection GetConnection()
		{
			if (oConn !=null)
			{
				return oConn;
			}
			else
			{	
				return null;
			}	

		}

		public cAccess(string Database)
		{
			try
			{
			oConn = new OleDbConnection(Provider + Database + Security);
				oConn.Open();

			}
			catch(Exception pe)
			{
				throw new cAccessException(pe.Message + '\r' + pe.Source );
			}
		}

		public cAccess(string Database,string User,string Passw)
		{
			try
			{
oConn = new OleDbConnection(Provider + Database + Security2 + Passw + ";" + Security3 + User + ";");
				oConn.Open();

			}
			catch(Exception pe)
			{
				throw new cAccessException(pe.Message + '\r' + pe.Source );
			}

		}
		public OleDbDataReader ExecuteReaderSql(string sql ) 
		{
			
			OleDbCommand oCmd= new OleDbCommand(sql,oConn );
			OleDbDataReader oDrdr;
			try
			{
				oDrdr= oCmd.ExecuteReader();
				
				return oDrdr;	
			}
			catch(OleDbException pe)
			{
				throw new cAccessException(pe.Message + '\r' + pe.Source );
				
			}
			
		}
		public void ExecuteQuery(string sql)
		{
			OleDbCommand oCmd= new OleDbCommand(sql,oConn );
			
			try
			{
				oCmd.ExecuteNonQuery();
				
			}
			catch(OleDbException pe)
			{
				throw new cAccessException(pe.Message + '\r' + pe.Source );
			}
			

		}
	}
}

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

Messages postés
346
Date d'inscription
lundi 8 septembre 2003
Statut
Membre
Dernière intervention
3 septembre 2007
3
C'e'st pas mal,
mettre le niveau expert sur cela est peut etre exagéré, mais c'est pas mal.

Alors, si tu veux perfectionner la chose, ce que je vois moi à ajouter , ca serait :
une meilleur gestion de la connexion :
tu l'ouvre, mais peut etre est t'elle déjà ouverte, et il n'y a pas de fonction pour fermer cette connexion

Il n'y a pas de gestion de transaction, c'est dommmage. Pour toute acces en écriture , je te conseillerais quand meme d'avoir une gestion de transaction.

Pour SQL server, il existe des objets dédiés je pense : sqlcommand, sqlconnection, ils sont peut etre plus efficace, enfin

bref, merci

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.