其实这也是一个仿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语句
/// 一般为执行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;
}
///
/// 执行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语句,返回执行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();
}
}
}
}
