Sql Server CE(SqlCE)一个数据访问层的类

2010-08-28 10:49:52来源:西部e网作者:

其实这也是一个仿petshop的数据库访问层类,因为是SqlCE的版本,所以我就放上来了,和其他数据库版本基本上没什么差别。转载请注明来源于西部E网(www.weste.net)

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: 在此处添加构造函数逻辑

            //

        }

 

        ///

        /// 静态方法,执行不返回数据集的Sql语句

        /// 一般为执行insertupdata语句

        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;

 

        }

       

        ///

        /// 执行SQL语句,判断是否返回记录个数

        /// 一般用于执行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();

            }

        }

 

        ///

        /// 执行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();

            }

        }

       

        ///

        /// 执行SQL语句,返回DataReader,www.weste.net

        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;

            }

        }

       

        ///

        /// 执行SQL语句,返回执行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网(www.weste.net)。

关键词:sqlceVS.NET

赞助商链接: