文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>连接access底层文件

连接access底层文件

时间:2007-09-19  来源:OBCattle

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;

namespace My
{
    /// <summary>
    /// db 的摘要说明
    /// </summary>
    public class Base
    {

        static String dbname = System.Web.HttpContext.Current.Server.MapPath("~/app_data/info.mdb");
        static String strConn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + dbname;

        protected static string strSQL;

        public Base()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }

        /// <summary>
        /// executing SQL commands
        /// </summary>
        /// <param name="strSQL">string</param>
        /// <returns>return int</returns>
        protected static int ExecuteSql(string strSQL)
        {
            OleDbConnection myCn = new OleDbConnection(strConn);
            OleDbCommand myCmd = new OleDbCommand(strSQL, myCn);
            
            try
            {
                myCn.Open();
                myCmd.ExecuteNonQuery();
                return 0;
            }
            catch (System.Data.OleDb.OleDbException e)
            {
                throw new Exception(e.Message);
            }
            finally
            {
                myCmd.Dispose();
                myCn.Close();
            }
        }

        /// <summary>
        ///executing SQL commands
        /// </summary>
        /// <param name="strSQL">要执行的SQL语句,为字符串类型string</param>
        /// <returns>返回执行情况,整形int</returns>
        protected static int ExecuteSqlEx(string strSQL)
        {
            OleDbConnection myCn = new OleDbConnection(strConn);
            OleDbCommand myCmd = new OleDbCommand(strSQL, myCn);

            try
            {
                myCn.Open();
                //只能这样创建一个SqlDataReader,因为该类没有公共的构造函数mfq               
                OleDbDataReader myReader = myCmd.ExecuteReader();
                //只调用一次,只能返回一行数据记录
                if (myReader.Read())
                {
                    return 0;
                }
                else
                {
                    throw new Exception("Value Unavailable!");
                }
            }
            catch (System.Data.OleDb.OleDbException e)
            {
                throw new Exception(e.Message);
            }
            finally
            {
                myCmd.Dispose();
                myCn.Close();
            }
        }

        /// <summary>
        /// get dataset
        /// </summary>
        /// <param name="strSQL">(string)</param>
        /// <returns>(DataSet)</returns>
        protected static DataSet ExecuteSql4Ds(string strSQL)
        {
            OleDbConnection myCn = new OleDbConnection(strConn);
            try
            {
                myCn.Open();
                OleDbDataAdapter sda = new OleDbDataAdapter(strSQL, myCn);
                DataSet ds = new DataSet("ds");
                sda.Fill(ds);
                return ds;
            }
            catch (System.Data.OleDb.OleDbException e)
            {
                throw new Exception("查询出错:" + e.Message);
            }
            finally
            {
                myCn.Close();
            }
        }

        /// <summary>
        /// get single value
        /// </summary>
        /// <param name="strSQL">(string)</param>
        /// <returns>(int)</returns>
        protected static int ExecuteSql4Value(string strSQL)
        {
            OleDbConnection myCn = new OleDbConnection(strConn);
            OleDbCommand myCmd = new OleDbCommand(strSQL, myCn);
            try
            {
                myCn.Open();
                object r = myCmd.ExecuteScalar();
                if (Object.Equals(r, null))
                {
                    throw new Exception("Value Unavailable!");
                }
                else
                {
                    return (int)r;
                }
            }
            catch (System.Data.OleDb.OleDbException e)
            {
                throw new Exception(e.Message);
            }
            finally
            {
                myCmd.Dispose();
                myCn.Close();
            }
        }

        /// <summary>
        /// get object
        /// </summary>
        /// <param name="strSQL">(string)</param>
        /// <returns>(object)</returns>
        protected static object ExecuteSql4ValueEx(string strSQL)
        {
            OleDbConnection myCn = new OleDbConnection(strConn);
            OleDbCommand myCmd = new OleDbCommand(strSQL, myCn);
            try
            {
                myCn.Open();
                object r = myCmd.ExecuteScalar();
                if (Object.Equals(r, null))
                {
                    throw new Exception("object unavailable!");
                }
                else
                {
                    return r;
                }
            }
            catch (System.Data.OleDb.OleDbException e)
            {
                throw new Exception(e.Message);
            }
            finally
            {
                myCmd.Dispose();
                myCn.Close();
            }
        }

        /// <summary>
        /// execute multipul SQL commands
        /// </summary>
        /// <param name="strSQLs">string</param>
        /// <returns>int</returns>
        /*protected static int ExecuteSqls(string[] strSQLs)
        {
            OleDbConnection myCn = new OleDbConnection(strConn);
            OleDbCommand myCmd = new OleDbCommand();
            int j = strSQLs.Length;

            try
            {
                myCn.Open();
            }
            catch (System.Data.SqlClient.SqlException e)
            {
                throw new Exception(e.Message);
            }
            SqlTransaction myTrans = myCn.BeginTransaction();

            try
            {
                myCmd.Connection = myCn;
                myCmd.Transaction = myTrans;

                foreach (string str in strSQLs)
                {
                    myCmd.CommandText = str;
                    myCmd.ExecuteNonQuery();
                }
                myTrans.Commit();
                return 0;
            }
            catch (System.Data.SqlClient.SqlException e)
            {
                myTrans.Rollback();
                throw new Exception(e.Message);
            }
            finally
            {
                myCmd.Dispose();
                myCn.Close();
            }
        }*/

    }
}
 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载