---------.NET Framework 2.0下(ACCESS和SqlServer数据库)测试通过
Web.Config文件代码:(配置文件)
<?
xml version="1.0" encoding="utf-8"
?>
<
configuration
>
<
appSettings
>
<
add
key
="Myconn"
value
="Access"
/>
</
appSettings
>
<
connectionStrings
>
<
add
name
="oleconn"
providerName
="System.Data.OleDb"
connectionString
="Provider=Microsoft.Jet.OleDb.4.0;Data
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
Source=|DataDirectory|92dotnet.mdb"
/>
<
add
name
="sqlconn"
providerName
="System.Data.Sql"
connectionString
="server=
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
(local);database=92dotnet;uid=sa;pwd=gmajlhx"
/>
</
connectionStrings
>
</
configuration
>
Mydataone.cs文件代码:(基类)
using
System;
using
System.Data;
using
System.Configuration;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Data.OleDb;
using
System.Data.SqlClient;
namespace
Mydotnet
![](https://i-blog.csdnimg.cn/blog_migrate/34031c708bfe702fe82d01ff5c6593aa.gif)
{
public class Mydataone //数据层基类
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
public Mydataone()
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 返回一个Connection对象
/// </summary>
/// <param name="Connstring">Myconn的值,判断Connection对象属于哪种类型</param>
/// <returns>conn</returns>
protected static IDbConnection Createconnection(string Connstring)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
IDbConnection conn=null;
switch (Connstring)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
case "Access":
conn = new OleDbConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
["oleconn"].ConnectionString);
break;
case "SqlServer":
conn = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
["sqlconn"].ConnectionString);
break;
}
return conn;
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 返回一个Command对象(重载方法一)
/// </summary>
/// <param name="com">sql语句或存储过程名</param>
/// <param name="commandtype">命令类型</param>
/// <param name="Connstring">Myconn的值,判断Command对象属于哪种类型</param>
/// <param name="conn">Connection接口对象</param>
/// <returns>comm</returns>
protected static IDbCommand Createcommand(string com,CommandType commandtype,string Connstring,IDbConnection conn)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
IDbCommand comm=null;
switch (Connstring)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
case "Access":
comm = new OleDbCommand();
comm.Connection =(OleDbConnection)conn;
comm.CommandText = com;
comm.CommandType = commandtype;
break;
case "SqlServer":
comm = new SqlCommand();
comm.Connection = (SqlConnection)conn;
comm.CommandText = com;
comm.CommandType = commandtype;
break;
}
return comm;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 返回一个Command对象(重载方法二)
/// </summary>
/// <param name="com">sql语句或存储过程名</param>
/// <param name="commandtype">命令类型</param>
/// <param name="Connstring">Myconn的值,判断Command对象属于哪种类型</param>
/// <param name="conn">Connection接口对象</param>
/// <param name="param">参数数组</param>
/// <returns>comm</returns>
protected static IDbCommand Createcommand(string com, CommandType commandtype, string Connstring,IDataParameter[]
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
param,IDbConnection conn)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
IDbCommand comm = null;
switch (Connstring)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
case "Access":
comm = new OleDbCommand();
comm.Connection = (OleDbConnection)conn;
comm.CommandText = com;
comm.CommandType = commandtype;
foreach (OleDbParameter par in param)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
comm.Parameters.Add(par);
}
break;
case "SqlServer":
comm = new SqlCommand();
comm.Connection = (SqlConnection)conn;
comm.CommandText = com;
comm.CommandType = commandtype;
foreach (SqlParameter par in param)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
comm.Parameters.Add(par);
}
break;
}
return comm;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 返回一个DataAdapter对象
/// </summary>
/// <param name="comm">command接口对象</param>
/// <param name="Connstring">Myconn的值,判断DataAdapter对象属于哪种类型</param>
/// <returns></returns>
protected static IDbDataAdapter Createadapter(IDbCommand comm,string Connstring)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
IDbDataAdapter adapter=null;
switch (Connstring)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
case "Access":
adapter= new OleDbDataAdapter((OleDbCommand)comm);
break;
case "SqlServer":
adapter= new SqlDataAdapter((SqlCommand)comm);
break;
}
return adapter;
}
}
}
Mydatatwo.cs文件代码:(继承类)
using
System;
using
System.Data;
using
System.Configuration;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
namespace
Mydotnet
//
同一个名字空间
![](https://i-blog.csdnimg.cn/blog_migrate/34031c708bfe702fe82d01ff5c6593aa.gif)
{
public class Mydatatwo : Mydataone //继承数据类
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
public static string Connstring=System.Configuration.ConfigurationSettings.AppSettings["Myconn"]; //得到Web.Config里的值
public static IDbConnection conn=Createconnection(Connstring); //调用基类方法得到Connection对象
public Mydatatwo()
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 有返回值的Executescalar方法和数据表第一行第一列的值(string类型)
/// </summary>
/// <param name="com">sql语句或存储过程名</param>
/// <param name="commandtype">命令类型</param>
/// <returns>str</returns>
public static string Executescalar(string com, CommandType commandtype)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
string str = "";
try
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Open();
IDbCommand comm = Createcommand(com, commandtype, Connstring, conn);
if (comm.ExecuteScalar() != null)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
str = comm.ExecuteScalar().ToString();
}
}
}
catch(Exception ee)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
throw ee;
}
finally
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Open)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Close();
}
}
return str;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 有返回值的Executescalar方法和数据表第一行第一列的值(string类型)
/// </summary>
/// <param name="com">sql语句或存储过程名</param>
/// <param name="commandtype">命令类型</param>
/// <param name="param">参数数组</param>
/// <returns>str</returns>
public static string Executescalar(string com, CommandType commandtype,IDataParameter[] param)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
string str = "";
try
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Open();
IDbCommand comm = Createcommand(com, commandtype, Connstring,param,conn);
if (comm.ExecuteScalar() != null)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
str = comm.ExecuteScalar().ToString();
}
}
}
catch (Exception ee)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
throw ee;
}
finally
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Open)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Close();
}
}
return str;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 一个无返回值的Executenonquery方法和被影响记录条数
/// </summary>
/// <param name="com">sql语句或存储过程名</param>
/// <param name="commandtype">命令类型</param>
/// <returns>icount</returns>
public static int Executenonquery(string com, CommandType commandtype)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
int icount=0;
try
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Open();
IDbCommand comm = Createcommand(com, commandtype, Connstring,conn);
icount = comm.ExecuteNonQuery();
}
}
catch (Exception ee)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
throw ee;
}
finally
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Open)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Close();
}
}
return icount;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 一个无返回值的Executenonquery方法和被影响记录条数
/// </summary>
/// <param name="com">sql语句或存储过程名</param>
/// <param name="commandtype">命令类型</param>
/// <param name="param">参数数组</param>
/// <returns>icount</returns>
public static int Executenonquery(string com, CommandType commandtype,IDataParameter[] param)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
int icount = 0;
try
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Open();
IDbCommand comm = Createcommand(com, commandtype, Connstring,param,conn);
icount= comm.ExecuteNonQuery();
}
}
catch (Exception ee)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
throw ee;
}
finally
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Open)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Close();
}
}
return icount;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 返回一个DataReader对象
/// </summary>
/// <param name="com">sql语句或存储过程名</param>
/// <param name="commandtype">命令类型</param>
/// <returns>dr</returns>
public static IDataReader Executereader(string com, CommandType commandtype)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
IDataReader dr=null;
try
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Open();
IDbCommand comm = Createcommand(com, commandtype, Connstring, conn);
dr = comm.ExecuteReader(CommandBehavior.CloseConnection); //也就是说如果后面调用了dr.Close()方法,则conn.Close()也会随之调用
}
}
catch (Exception ee)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
throw ee;
}
return dr;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 返回一个DataReader对象
/// </summary>
/// <param name="com">sql语句或存储过程名</param>
/// <param name="commandtype">命令类型</param>
/// <param name="param">参数数组</param>
/// <returns>dr</returns>
public static IDataReader Executereader(string com, CommandType commandtype, IDataParameter[] param)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
IDataReader dr=null;
try
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Open();
IDbCommand comm = Createcommand(com, commandtype, Connstring, param, conn);
dr = comm.ExecuteReader(CommandBehavior.CloseConnection); //也就是说如果后面调用了dr.Close()方法,则conn.Close()也会随之调用
}
}
catch (Exception ee)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
throw ee;
}
return dr;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 返回一个DataSet对象
/// </summary>
/// <param name="com">sql语句或存储过程名</param>
/// <param name="commandtype">命令类型</param>
/// <returns>ds</returns>
public static DataSet Executedataset(string com, CommandType commandtype)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
DataSet ds=null;
try
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Open();
IDbCommand comm = Createcommand(com, commandtype, Connstring,conn);
IDbDataAdapter adapter = Createadapter(comm, Connstring);
ds = new DataSet();
adapter.Fill(ds);
}
}
catch (Exception ee)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
throw ee;
}
finally
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Open)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Close();
}
}
return ds;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 返回一个DataSet对象
/// </summary>
/// <param name="com">sql语句或存储过程名</param>
/// <param name="commandtype">命令类型</param>
/// <param name="param">参数数组</param>
/// <returns>ds</returns>
public static DataSet Executedataset(string com, CommandType commandtype,IDataParameter[] param)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
DataSet ds=null;
try
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Open();
IDbCommand comm = Createcommand(com, commandtype, Connstring, param, conn);
IDbDataAdapter adapter = Createadapter(comm, Connstring);
ds =new DataSet();
adapter.Fill(ds);
}
}
catch (Exception ee)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
throw ee;
}
finally
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Open)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Close();
}
}
return ds;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 返回一个DataTable对象
/// </summary>
/// <param name="com">Sql语句或存储过程名</param>
/// <param name="commandtype">命令对象</param>
/// <returns>dt</returns>
public static DataTable Executetable(string com, CommandType commandtype)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
DataSet ds=null;
DataTable dt=null;
try
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Open();
IDbCommand comm = Createcommand(com, commandtype, Connstring,conn);
IDbDataAdapter adapter = Createadapter(comm, Connstring);
ds = new DataSet();
adapter.Fill(ds);
dt = ds.Tables[0];
}
}
catch (Exception ee)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
throw ee;
}
finally
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Open)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Close();
}
}
return dt;
}
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
/**//// <summary>
/// 返回一个DataTable对象
/// </summary>
/// <param name="com">Sql语句或存储过程名</param>
/// <param name="commandtype">命令对象</param>
/// <param name="param">参数数组</param>
/// <returns>dt</returns>
public static DataTable Executetable(string com, CommandType commandtype, IDataParameter[] param)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
DataSet ds=null;
DataTable dt=null;
try
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Open();
IDbCommand comm = Createcommand(com, commandtype, Connstring, param, conn);
IDbDataAdapter adapter = Createadapter(comm, Connstring);
ds = new DataSet();
adapter.Fill(ds);
dt = ds.Tables[0];
}
}
catch (Exception ee)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
throw ee;
}
finally
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Open)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Close();
}
}
}
return dt;
}
public static void Closeconnection()
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
if (conn.State == ConnectionState.Closed)
![](https://i-blog.csdnimg.cn/blog_migrate/3112b7b6526db5bc83e275260ae60525.gif)
{
conn.Close();
}
}
//继续更新中。。。。。
![](https://i-blog.csdnimg.cn/blog_migrate/587e34b10dcf5efbc0859b53470a2db3.gif)
}
}