Maison base de données tutoriel mysql 用于Access数据库的DB操作类AccessHelper.cs

用于Access数据库的DB操作类AccessHelper.cs

Jun 07, 2016 pm 03:30 PM
access 操作 数据库

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.OleDb;namespace JonseTool{ public abstract class AccessHelper { // string s = Application.StartupPath.Replace(@\bin\Debug

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Data;
using System.Data.OleDb;

namespace JonseTool
{
   public abstract class AccessHelper
    {
            // string s = Application.StartupPath.Replace(@"\bin\Debug", "") + @"\Data\#test.mdb";
            ////JonseTool.AccessHelper.ConnString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + s + @";Persist Security Info=false;User Id=admin;Password=";
            //JonseTool.AccessHelper.ConnString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + s + @";";

        public static string _sConnString = string.Empty;
        public static string ConnString
        {
            get{return _sConnString;}
            set{_sConnString = value;}
        }

        public static bool TestConn(string sConnStr="")
        {
            OleDbConnection myConn = null;
            bool bResult = false;
            try
            {
                if (string.IsNullOrEmpty(sConnStr)) sConnStr = _sConnString;
                myConn = new OleDbConnection(_sConnString);
                myConn.Open();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                if (myConn != null && myConn.State.ToString() == "Open")
                    bResult = true;
            }

            myConn.Close();

            return bResult;
        }

        public static DataTable GetDataTable(out string sErr, string sSQL,string sConnStr="",params OleDbParameter[] cmdParams)
        {
            DataTable dt = null;
            sErr = string.Empty;

            if (string.IsNullOrEmpty(sConnStr)) sConnStr = _sConnString;

            OleDbConnection accConn = null;
            try
            {
                accConn = new OleDbConnection(sConnStr);
                OleDbCommand accCmd = new OleDbCommand(sSQL, accConn);
                accConn.Open();

                if (cmdParams != null)  
               {
                   foreach (OleDbParameter parm in cmdParams)
                       accCmd.Parameters.Add(parm);  
                }
 
                OleDbDataAdapter adapter = new OleDbDataAdapter(accCmd);
                dt = new DataTable();
                adapter.Fill(dt);
                accConn.Close();
            }
            catch (Exception ex)
            {
                sErr = ex.Message;
            }
            return dt;
        }

        // 取dataset  
        public static DataSet GetDataSet(out string sError, string sSQL, string sConnStr = "", params OleDbParameter[] cmdParams)
        {
            DataSet ds = null;
            sError = string.Empty;
            try
            {
                if (string.IsNullOrEmpty(sConnStr)) sConnStr = _sConnString;

                OleDbConnection conn = new OleDbConnection(sConnStr);
                conn.Open();
                OleDbCommand cmd = new OleDbCommand();
                cmd.Connection = conn;
                cmd.CommandText = sSQL;

                if (cmdParams != null)
                {
                    foreach (OleDbParameter parm in cmdParams)
                        cmd.Parameters.Add(parm);
                }

                OleDbDataAdapter dapter = new OleDbDataAdapter(cmd);
                ds = new DataSet();
                dapter.Fill(ds);
            }
            catch (Exception ex)
            {
                sError = ex.Message;
            }
            return ds;
        }

        // 取某个单一的元素   
        public static object GetSingle(out string sError, string sSQL,string sConnStr)
        {
            DataTable dt = GetDataTable(out sError, sSQL,sConnStr);
            if (dt != null && dt.Rows.Count > 0)
            {
                return dt.Rows[0][0];
            }

            return null;
        }

        // 取最大的ID  
        public static Int32 GetMaxID(out string sError, string sKeyField, string sTableName,string sConnStr=null)
        {
            DataTable dt = GetDataTable(out sError, "select iif(isnull(max([" + sKeyField + "])),0,max([" + sKeyField + "])) as MaxID from [" + sTableName + "]", sConnStr);
            if (dt != null && dt.Rows.Count > 0)
            {
                return Convert.ToInt32(dt.Rows[0][0].ToString());
            }

            return 0;
        }

        // 执行 insert,update,delete 动作,也可以使用事务  
        public static bool UpdateData(out string sError, string sSQL,string sConnStr="",OleDbParameter[] cmdParams = null, bool bUseTransaction = false)
        {
            int iResult = 0;
            sError = string.Empty;
            if (string.IsNullOrEmpty(sConnStr)) sConnStr = _sConnString;

            if (!bUseTransaction)
            {
                try
                {
                    OleDbConnection conn = new OleDbConnection(sConnStr);
                    if (conn.State != ConnectionState.Open)
                        conn.Open();
                    OleDbCommand cmd = new OleDbCommand();
                    cmd.Connection = conn;
                    cmd.CommandText = sSQL;

                    if (cmdParams != null)
                    {
                        foreach (OleDbParameter parm in cmdParams)
                            cmd.Parameters.Add(parm);
                    }

                    iResult = cmd.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    sError = ex.Message;
                    iResult = -1;
                }
            }
            else // 使用事务  
            {
                OleDbTransaction trans = null;
                try
                {
                    OleDbConnection conn = new OleDbConnection(sConnStr);
                    if (conn.State != ConnectionState.Open)
                        conn.Open();
                    trans = conn.BeginTransaction();
                    OleDbCommand cmd = new OleDbCommand();
                    cmd.Connection = conn;
                    cmd.CommandText = sSQL;

                    if (cmdParams != null)
                    {
                        foreach (OleDbParameter parm in cmdParams)
                            cmd.Parameters.Add(parm);
                    }

                    cmd.Transaction = trans;
                    iResult = cmd.ExecuteNonQuery();
                    trans.Commit();
                }
                catch (Exception ex)
                {
                    sError = ex.Message;
                    iResult = -1;
                    trans.Rollback();
                }
            }

            return iResult > 0;
        } 
 
    }
}
Copier après la connexion


示意图:

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL: une introduction à la base de données la plus populaire au monde MySQL: une introduction à la base de données la plus populaire au monde Apr 12, 2025 am 12:18 AM

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

Pourquoi utiliser MySQL? Avantages et avantages Pourquoi utiliser MySQL? Avantages et avantages Apr 12, 2025 am 12:17 AM

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Comment configurer Zend pour Apache Comment configurer Zend pour Apache Apr 13, 2025 pm 12:57 PM

Comment configurer Zend dans Apache? Les étapes pour configurer Zend Framework dans un serveur Web Apache sont les suivantes: installer Zend Framework et l'extraire dans le répertoire du serveur Web. Créez un fichier .htaccess. Créez le répertoire d'application Zend et ajoutez le fichier index.php. Configurez l'application Zend (application.ini). Redémarrez le serveur Web Apache.

Comment utiliser les journaux Debian Apache pour améliorer les performances du site Web Comment utiliser les journaux Debian Apache pour améliorer les performances du site Web Apr 12, 2025 pm 11:36 PM

Cet article expliquera comment améliorer les performances du site Web en analysant les journaux Apache dans le système Debian. 1. Bases de l'analyse du journal APACH LOG enregistre les informations détaillées de toutes les demandes HTTP, y compris l'adresse IP, l'horodatage, l'URL de la demande, la méthode HTTP et le code de réponse. Dans Debian Systems, ces journaux sont généralement situés dans les répertoires /var/log/apache2/access.log et /var/log/apache2/error.log. Comprendre la structure du journal est la première étape d'une analyse efficace. 2.

Qu'est-ce que le serveur Apache? À quoi sert le serveur Apache? Qu'est-ce que le serveur Apache? À quoi sert le serveur Apache? Apr 13, 2025 am 11:57 AM

Apache Server est un puissant logiciel de serveur Web qui agit comme un pont entre les navigateurs et les serveurs de sites Web. 1. Il gère les demandes HTTP et renvoie le contenu de la page Web en fonction des demandes; 2. La conception modulaire permet des fonctions étendues, telles que la prise en charge du chiffrement SSL et des pages Web dynamiques; 3. Les fichiers de configuration (tels que les configurations d'hôte virtuels) doivent être soigneusement définis pour éviter les vulnérabilités de sécurité et optimiser les paramètres de performance, tels que le nombre de threads et le temps de délai d'expiration, afin de créer des applications Web haute performance et sécurisées.

Comment surveiller les performances de Nginx SSL sur Debian Comment surveiller les performances de Nginx SSL sur Debian Apr 12, 2025 pm 10:18 PM

Cet article décrit comment surveiller efficacement les performances SSL des serveurs Nginx sur les systèmes Debian. Nous utiliserons NginxExporter pour exporter des données d'état NGINX à Prometheus, puis l'afficher visuellement via Grafana. Étape 1: Configuration de Nginx Tout d'abord, nous devons activer le module Stub_Status dans le fichier de configuration NGINX pour obtenir les informations d'état de Nginx. Ajoutez l'extrait suivant dans votre fichier de configuration Nginx (généralement situé dans /etc/nginx/nginx.conf ou son fichier incluant): emplacement / nginx_status {Stub_status

Solution à MySQL Rencontres 'Accès refusé pour l'utilisateur' Solution à MySQL Rencontres 'Accès refusé pour l'utilisateur' Apr 11, 2025 pm 05:36 PM

Comment résoudre l'erreur MySQL "Accès refusé pour l'utilisateur": 1. Vérifiez l'autorisation de l'utilisateur de se connecter à la base de données; 2. Réinitialisez le mot de passe; 3. Autoriser les connexions distantes; 4. Autorisations de rafraîchissement; 5. Vérifiez la configuration du serveur de base de données (Bind-Address, Skip-Grant-Tables); 6. Vérifiez les règles du pare-feu; 7. Redémarrez le service MySQL. Astuce: apportez des modifications après la sauvegarde de la base de données.

Comment configurer le format de journal debian Apache Comment configurer le format de journal debian Apache Apr 12, 2025 pm 11:30 PM

Cet article décrit comment personnaliser le format de journal d'Apache sur les systèmes Debian. Les étapes suivantes vous guideront à travers le processus de configuration: Étape 1: Accédez au fichier de configuration Apache Le fichier de configuration apache principal du système Debian est généralement situé dans /etc/apache2/apache2.conf ou /etc/apache2/httpd.conf. Ouvrez le fichier de configuration avec les autorisations racinaires à l'aide de la commande suivante: sudonano / etc / apache2 / apache2.conf ou sudonano / etc / apache2 / httpd.conf Étape 2: définir les formats de journal personnalisés à trouver ou

See all articles