Sql Server CE(SqlCE)一個數據訪問層的類

2010-08-28 10:49:52來源:西部e網作者:

其實這也是一個仿petshop的數據庫訪問層類,因為是SqlCE的版本,所以我就放上來了,和其他數據庫版本基本上沒什么差別。轉載請注明來源于西部E網(virtualinteriordefine.com)

using System;

using System.Collections.Generic;

using System.Text;

 

using System.Data.SqlServerCe;

using System.Data;

 

namespace DataBase.SqlCE

{

    public class C_SQLCE

    {

        protected static string strConn = "Data Source = Program Files//www_weste_net.sdf";

 

        public C_SQLCE()

        {

            //

            // TODO: 在此處添加構造函數邏輯

            //

        }

 

        ///

        /// 靜態(tài)方法,執(zhí)行不返回數據集的Sql語句

        /// 一般為執(zhí)行insert、updata語句

        public bool ExecuteSql(string strSql)

        {

            bool success = false;

            SqlCeConnection dbConn = new SqlCeConnection(strConn);

            SqlCeCommand dbCmd = new SqlCeCommand(strSql, dbConn);

            try

            {

                dbConn.Open();

                dbCmd.ExecuteNonQuery();

                success = true;

            }

            catch (SqlCeException e)

            {

                throw new Exception(e.Message);

            }

            finally

            {

                dbCmd.Dispose();

                dbConn.Close();

            }

            return success;

 

        }

       

        ///

        /// 執(zhí)行SQL語句,判斷是否返回記錄個數

        /// 一般用于執(zhí)行select語句,西部e網

        public int ExecuteSqlEx(string strSql)

        {

            SqlCeConnection dbConn = new SqlCeConnection(strConn);

            SqlCeCommand dbCmd = new SqlCeCommand(strSql, dbConn);

 

            try

            {

                dbConn.Open();

                SqlCeDataReader myReader = dbCmd.ExecuteReader();

                if (myReader.Read())

                    return 0;

                else

                    return 1;

            }

            catch (SqlCeException e)

            {

                throw new Exception(e.Message);

            }

            finally

            {

                dbCmd.Dispose();

                dbConn.Close();

            }

        }

 

        ///

        /// 執(zhí)行SQL語句并返回數據集

        public DataSet ExecuteSqlDs(string strSql)

        {

            SqlCeConnection dbConn = new SqlCeConnection(strConn);

 

            try

            {

                dbConn.Open();

                SqlCeDataAdapter adapter = new SqlCeDataAdapter(strSql, dbConn);

                DataSet ds = new DataSet();

                adapter.Fill(ds);

                return ds;

            }

            catch (SqlCeException e)

            {

                throw new Exception(e.Message);

            }

            finally

            {

                dbConn.Close();

            }

        }

       

        ///

        /// 執(zhí)行SQL語句,返回DataReader,virtualinteriordefine.com

        public SqlCeDataReader ExecuteSqlDataReader(string strSql)

        {

            SqlCeConnection dbConn = new SqlCeConnection(strConn);

            SqlCeCommand dbCmd = new SqlCeCommand(strSql, dbConn);

 

            try

            {

                dbConn.Open();

                return dbCmd.ExecuteReader(CommandBehavior.CloseConnection);

            }

            catch

            {

                dbConn.Close();

                throw;

            }

        }

       

        ///

        /// 執(zhí)行SQL語句,返回執(zhí)行cmdScalar方法的值,西部e網

        ///

        public int ExecuteSqlScalar(string strSql)

        {

            SqlCeConnection dbConn = new SqlCeConnection(strConn);

            SqlCeCommand dbCmd = new SqlCeCommand(strSql, dbConn);

 

            try

            {

                dbConn.Open();

                object r = dbCmd.ExecuteScalar();

                if (Object.Equals(r, null))

                {

                    throw new Exception("value unavailable");

                }

                else

                {

                    return (int)r;

                }

            }

            catch (SqlCeException e)

            {

                throw new Exception(e.Message);

            }

            finally

            {

                dbCmd.Dispose();

                dbConn.Close();

            }

        }

 

 

    }

}

 

PS: 轉載本文請注明來源于西部e網(virtualinteriordefine.com)。

關鍵詞:sqlceVS.NET

贊助商鏈接: