wince数据库操作类

using System;
using System.IO;
using System.Text;
using System.Data;
using System.Data.SqlServerCe;
using System.Collections;
using System.Windows.Forms;
using System.Data.Common;//说明--wince的数据库操作和Windows的大同小异,建议有些语句可以在wince数据库亲测。

namespace cedb
{
    /// <summary>
    /// 数据库操作类
    /// </summary>
    public static class DBSqlServer
    {
      
        /// <summary>
        /// 获取datatable
        /// </summary>
        /// <param name="sql"></param>
        public static DataTable GetDT(string sql)
        {

            SqlCeConnection conn = null;
            try
            {
                conn = new SqlCeConnection("Data Source = 3190.sdf");
                try
                {
                    conn.Open();
                }
                catch (Exception ex)
                {
                    throw;
                }
                SqlCeCommand cmd = conn.CreateCommand();
                cmd.CommandText = sql;
                SqlCeDataAdapter ada = new SqlCeDataAdapter(cmd);
                DataTable dts = new DataTable();
                ada.Fill(dts);
                ada.Dispose();
                conn.Close();
                return dts;
            }
            catch
            {
                throw;
            }
            finally
            {
                if (null != conn)
                    conn.Close();
            }
        }

        /// <summary>
        /// 获取ExecuteScalar,即数据中第一行第一列值
        /// </summary>
        /// <param name="sql"></param>
        public static Object GetExecuteScalar(string sql)
        {
             SqlCeConnection conn = null;
        try
        {
            
            conn = new SqlCeConnection("Data Source = 3190.sdf");
            try
            {
                conn.Open();
            }
            catch
            {
                throw new NullReferenceException("连接数据库失败");
            }
            SqlCeCommand cmd = conn.CreateCommand();
            cmd.CommandText = sql;
            return cmd.ExecuteScalar();
         }

          catch (SqlCeException e) 
        {
            throw new NullReferenceException("操作数据库失败");
        }
        finally 
         {
            if(conn.State == ConnectionState.Open)
               conn.Close();
         } 
        }
      
        public static void ExecuteNonQuery(string sql)//执行sql语句,无返回
        {
        SqlCeConnection conn = null;
        try
        {
            conn = new SqlCeConnection("Data Source = 3190.sdf");
            try
            {
                conn.Open();
            }
            catch
            {
                throw new NullReferenceException("连接数据库失败");
            }
            SqlCeCommand cmd = conn.CreateCommand();
            cmd.CommandText = sql;
            cmd.ExecuteNonQuery();
         }

          catch (SqlCeException e) 
        {
            throw new NullReferenceException("操作数据库失败");
        }
        finally 
         {
            if(conn.State == ConnectionState.Open)
               conn.Close();
         }
        }
    }
}

 

posted @ 2015-07-20 17:20  BetterCoder  阅读(333)  评论(0编辑  收藏  举报