其實這也是一個仿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í)行cmd的Scalar方法的值,西部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();
}
}
}
}