`
ooaer
  • 浏览: 138725 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

DBAccess

    博客分类:
  • C#
阅读更多
以前写过的基于存储过程的SQLServer DBAccess,简单的贴一下
(Oracle 和 其他通用访问方式大同小异):

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
namespace OnLineExamDBAccess
{
    public class DBMSSQLServer:IDBHelp
    {
        private SqlConnection connection;
        private SqlCommand command;
        public DBMSSQLServer(string connStr)
        {
            this.connection = new SqlConnection(connStr);
        }

        #region IDBHelp 成员
        public void Open()
        {
            if (this.connection != null && !this.connection.State.Equals(ConnectionState.Open))
                this.connection.Open();
   
        }

        public void Close()
        {
            if (this.connection != null && !this.connection.State.Equals(ConnectionState.Closed))
                this.connection.Close();
        }

        public void PublicClass(string procName, IDataParameter[] parameters)
        {
            command = new SqlCommand();
            command.Connection = this.connection;
            command.CommandType = CommandType.StoredProcedure;
            command.CommandText = procName;
            SqlParameter[] sqlParameters = (SqlParameter[])parameters;
            if (this.command.Parameters.Count > 0)
            {
                this.command.Parameters.Clear();
            }
            if (sqlParameters != null && sqlParameters.Length > 0)
            {
                foreach (SqlParameter sqlParameter in sqlParameters)
                {
                    this.command.Parameters.Add(sqlParameter);
                }
            }
            
        }

        public int ExecSql(string procName, IDataParameter[] parameters)
        {
            try
            {
                SqlParameter[] sqlparameters = (SqlParameter[])(parameters);
                this.Open();
                this.PublicClass(procName,parameters);
                int i = command.ExecuteNonQuery();
                this.Close();
                return i;
            }

            catch (Exception exp)
            {

                throw(exp);
            }
        }

        public DataSet ExecSqlReturnDataSet(string dsName, string procName, IDataParameter[] parameters)
        {
            try
            {
                SqlParameter[] sqlparameters = (SqlParameter[])(parameters);
                this.Open();
                this.PublicClass(procName,parameters);
                SqlDataAdapter da = new SqlDataAdapter();
                DataSet ds = new DataSet();
                da.SelectCommand = this.command;
                da.Fill(ds,dsName);
                this.Close();
                return ds;
            }

            catch (Exception exp)
            {
                throw (exp);
            }
        }

        public int ExecSqlReturnScalar(string procName, IDataParameter[] parameters)
        {
            try
            {
                SqlParameter[] sqlparameters = (SqlParameter[])(parameters);
                this.Open();
                this.PublicClass(procName, parameters);
                int i = Convert.ToInt32(this.command.ExecuteScalar());
                this.Close();
                return i;
            }

            catch (Exception exp)
            {
                throw (exp);
            }

        }
        #endregion
        
        
    }
}

基于SQL语句的访问方式(access数据库)
(二年级写的垃圾一点,呵呵):

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;

/// <summary>
/// Dbase 的摘要说明
/// 对数据库的基本访问方法
/// 2009年3月第一次编写
/// 2009年5月3日修改connstr为非const型
/// </summary>


public class Dbase
{
    /*
    public const string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
        + @"F:\工程\dsweb_base\dsweb"
        +@"\App_Data\dsweb.mdb;";
    */

    private string connStr;

    protected OleDbConnection objconn;
    protected OleDbCommand objcom;
    public Dbase()
    {
        connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
            + (System.Web.HttpContext.Current.Request.PhysicalApplicationPath.ToString())
            + @"App_Data\dsweb.mdb;";
        objconn = new OleDbConnection(connStr);
        objcom = new OleDbCommand();
        objcom.Connection = objconn;
    }

    /************************************************************************/
    /*090504日增加                                                          */
    /************************************************************************/
    public Dbase(string dbpath)
    {
        connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
            + (System.Web.HttpContext.Current.Request.PhysicalApplicationPath.ToString())
            + dbpath;
        objconn = new OleDbConnection(connStr);
        objcom = new OleDbCommand();
        objcom.Connection = objconn;
    }

    /*
        public SqlDataReader DataSelectMultiLine(string sql)
        {
            SqlDataReader QueryData;
            try
            {
                objconn.Open();
                objcom.CommandText = sql;
                QueryData = objcom.ExecuteReader();
            }
            catch
            {
        
                return null;
            }
            return QueryData;
        }
    */
    public DataTable DataSelectMultiLine(string sql)
    {
        objconn.Open();
        objcom.CommandText = sql;
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        DataSet dsDataSet = new DataSet();
        adapter.SelectCommand = objcom;
        adapter.Fill(dsDataSet, "table");
        DataTable dtTable = dsDataSet.Tables["table"];
        return dtTable;
    }

    public object DataSelectSingalLine(string sql)
    {
        object obj = new object();
        try
        {
            objconn.Open();
            objcom.CommandText = sql;
            obj = objcom.ExecuteScalar();
        }
        catch
        {
            if (objconn.State == ConnectionState.Open)
                objconn.Close();
            return null;
        }
        if (objconn.State == ConnectionState.Open)
            objconn.Close();
        return obj;
    }

    public int DataNonSelect(string sql)
    {
        int a = 0;
        try
        {
            objconn.Open();
            objcom.CommandText = sql;
            a = objcom.ExecuteNonQuery();
        }
        catch
        {
            if (objconn.State == ConnectionState.Open)
                objconn.Close();
            return -1;
        }
        if (objconn.State == ConnectionState.Open)
            objconn.Close();
        return a;
    }

    public bool Close()
    {
        try
        {
            if (objconn.State == ConnectionState.Open)
                objconn.Close();
        }
        catch
        {
            return false;
        }
        return true;
    }
}
分享到:
评论

相关推荐

    dbaccess的使用方法

    dbaccess 使用方法详解 Dbaccess 是 Informix 数据库管理系统中的一个重要工具,用于管理和维护数据库。Dbaccess 提供了多种功能,包括查询、连接数据库、管理数据库、管理表、管理存储过程等。 一、Dbaccess 的...

    Informix dbaccess用户指南

    《Informix dbaccess用户指南》是IBM为Informix数据库用户提供的一个详尽的工具书,旨在帮助用户理解和掌握dbaccess的使用方法与技巧。dbaccess是IBM Informix数据库的一个重要组成部分,它允许用户通过命令行界面来...

    informix dbaccess用户指南

    《Informix dbaccess用户指南》是一本专门为Informix数据库管理员和开发者编写的实用手册,旨在深入解析 Informix 的 dbaccess 工具,帮助用户更好地管理和操作数据库。dbaccess 是 Informix 提供的一个图形化界面...

    informix dbaccess 用户指南

    《Informix DBAccess 用户指南》是一本专门为 Informix 数据库管理系统用户提供操作指导的文档,旨在帮助用户更好地理解和使用 Informix DBAccess 这一强大的数据库访问工具。Informix DBAccess 是 Informix 公司...

    dbaccess 工具的使用.pdf

    dbaccess 工具的使用详解 dbaccess 工具是 DB2 数据库管理系统中的一个重要组件,用于提供交互式的数据库管理和查询功能。下面是 dbaccess 工具的使用详解: 什么是 DB-Access DB-Access 是 IBM DB2 数据库管理...

    GBase8s dbaccess工具简要说明.doc

    GBase8s dbaccess工具简要说明 本文档对GBase8s dbaccess工具进行了简要说明,dbaccess是一个菜单驱动型界面,用于输入、运行和调试结构化查询语言(SQL)语句与存储过程语言(SPL)例程。用户可以通过dbaccess工具...

    dbaccess,补充SQL查询管理器

    DBAccess是一款专为数据库管理和SQL查询优化设计的实用工具,尤其适合编程人员和数据管理人员使用。它以其小巧的体积和强大的功能,成为了SQL查询管理器的有力补充。下面将详细介绍DBAccess的关键特性和应用场景。 ...

    Informix dbaccess用户指南.rar

    《Informix dbaccess用户指南》是一本专门为Informix数据库管理员和开发者准备的实用手册,它详细介绍了如何使用dbaccess工具来管理和操作Informix数据库。Informix是一个高效、可靠的数据库管理系统,广泛应用于...

    informix dbaccess用户指南.rar

    《Informix DBAccess 用户指南》是一本专门为Informix数据库管理系统用户设计的详尽参考资料,它旨在帮助用户更好地理解和操作Informix DBAccess工具。Informix是一个高效、可靠的数据库系统,广泛应用于企业级的...

    asp.net DBAccess数据访问抽象基础类

    DBAccess 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。  DBAccess 类用于通过一组静态方法来封装数据访问功能。在 DBAccess 类中实现的每种方法都提供了一...

    DbAccess.rar

    DBAccess是一款广泛应用于.NET开发环境中的数据库访问组件,尤其在Visual Studio 2010中。这个组件使得C#开发者能够方便地与各种数据库进行交互,包括但不限于SQL Server、MySQL、Oracle以及SQLite等。它的主要功能...

    DBACCESS DEMO

    【DBACCESS DEMO】是一个演示程序,用于展示如何定期从各种类型的数据库中读取数据并将其记录到日志文件中。这个DEMO的核心价值在于它的灵活性和可移植性,允许开发者在不同的数据库系统之间轻松切换,而无需修改...

    dbaccess11.dll

    dbaccess.dll文件

    informix DBACCESS 使用

    **Informix DBACCESS 使用详解** Informix DBACCESS 是 Informix 数据库系统提供的一款客户端工具,它主要用于管理和操作 Informix 数据库。在 DOS 和 Unix 平台上,DBACCESS 提供了一个命令行界面,允许用户执行一...

    DbAccess.cs

    sqlite for unity3d DbAccess.cs类源码

Global site tag (gtag.js) - Google Analytics