我要访问ACCESS的类库.不是SQL的,SQL的我会,呵呵.------------ 一样,将相关的类,换成 OleDb如,public void ReadMyData(string connectionString) { string queryString = "SELECT OrderID, CustomerID FROM Orders"; using (OleDbConnection connection = new OleDbConnection(connectionString)) { OleDbCommand command = new OleDbCommand(queryString, connection); connection.Open(); OleDbDataReader reader = command.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader.GetInt32(0) + ", " + reader.GetString(1)); } // always call Close when done reading. reader.Close(); }
public OleDbDataReader GetDataReaderMDB(string selectCmd) // Select From Table {
string m_dbConnection ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+HttpContext.Current.Request.PhysicalApplicationPath+System.Configuration.ConfigurationSettings.AppSettings["PATH"]; if (m_dbConnection==null) throw new Exception("Error-> DSN not set in Config.web"); OleDbConnection m_SqlConnection = new OleDbConnection(m_dbConnection); OleDbCommand m_SqlCommand = new OleDbCommand(selectCmd, m_SqlConnection); try { m_SqlCommand.Connection.Open(); } // end try catch (Exception e) { throw new Exception("Error in CInfo:GetDataReader()-> " + e.ToString()); } return m_SqlCommand.ExecuteReader(CommandBehavior.CloseConnection); } // end Select web.config<add key="PATH" value="bbs/mdb/dxxobbs.mdb" />
直接拿来就可以用了,上回做东西的时候改的,还加了一个防注入的.using System; using System.Data; using System.Data.SqlClient; using System.Data.OleDb; using System.Web; namespace cjyy { /// <summary> /// DataAccess 的摘要说明。 /// <description>数据处理基类,调用方式:DataAccess.DataSet((string)sqlstr);或者DataAccess.DataSet((string)sqlstr,ref DataSet ds); </description> /// </summary> public class DataAccess { #region 属性 protected static OleDbConnection conn=new OleDbConnection(); protected static OleDbCommand comm=new OleDbCommand(); protected static string connSting=connString.createConnString();//string.Format("Provider={0};Data Source={1}",System.Configuration.ConfigurationSettings.AppSettings["Provider"],System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["DataSource"]));
public class DataBase
{
public static int IconIndex =0;
// 连接数据源
public System.Data.SqlClient.SqlConnection con=null;
/// <summary>
/// 创建一个SqlCommand对象以此来执行无参数的存储过程
/// </summary>
/// <returns>返回SqlCommand对象</returns>
public SqlDataAdapter CreateCommand(string procName)
{
// 确认打开连接
Open(); System.Data.SqlClient.SqlDataAdapter Adp=new SqlDataAdapter(procName,con); return Adp;
}
/// <summary>
///执行无参数的存储过程
/// </summary>
public System.Data.SqlClient.SqlCommand Command(string ProcName)
{
Open(); System.Data.SqlClient.SqlCommand com=new SqlCommand(ProcName,con); return com;
} /// <summary>
///执行需要单个参数的存储过程
/// </summary>
public System.Data.SqlClient.SqlCommand Command(System.Data.SqlClient.SqlParameter Para,string ProcName)
{
Open();
System.Data.SqlClient.SqlCommand com=new SqlCommand();
com.Parameters.Add(Para);
com.CommandType=CommandType.StoredProcedure;
com.Connection=con;
com.CommandText=ProcName; return com; }
/// <summary>
/// 打开数据库连接.
/// </summary>
public void Open()
{
// 打开数据库连接
if (con == null)
{
con = new SqlConnection(ConfigurationSettings.AppSettings["Connection_str"]);
}
if(con.State == System.Data.ConnectionState.Closed)
{
con.Open();
}
} /// <summary>
/// 关闭数据库连接
/// </summary>
public void Close()
{
if (con != null)
{
con.Close();
}
} /// <summary>
/// 释放资源,同时Close()
/// </summary>
public void Dispose()
{
// 确认连接是否已经关闭
if (con != null)
{
con.Dispose(); //Calling Dispose also calls SqlConnection.Close
con = null;
}
}
}
一样,将相关的类,换成 OleDb如,public void ReadMyData(string connectionString)
{
string queryString = "SELECT OrderID, CustomerID FROM Orders";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
OleDbCommand command = new OleDbCommand(queryString, connection);
connection.Open();
OleDbDataReader reader = command.ExecuteReader(); while (reader.Read())
{
Console.WriteLine(reader.GetInt32(0) + ", " + reader.GetString(1));
}
// always call Close when done reading.
reader.Close();
}
{
string m_dbConnection ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+HttpContext.Current.Request.PhysicalApplicationPath+System.Configuration.ConfigurationSettings.AppSettings["PATH"];
if (m_dbConnection==null) throw new Exception("Error-> DSN not set in Config.web"); OleDbConnection m_SqlConnection = new OleDbConnection(m_dbConnection);
OleDbCommand m_SqlCommand = new OleDbCommand(selectCmd, m_SqlConnection);
try
{
m_SqlCommand.Connection.Open();
} // end try
catch (Exception e)
{
throw new Exception("Error in CInfo:GetDataReader()-> " + e.ToString());
}
return m_SqlCommand.ExecuteReader(CommandBehavior.CloseConnection);
} // end Select
web.config<add key="PATH" value="bbs/mdb/dxxobbs.mdb" />
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Web;
namespace cjyy
{
/// <summary>
/// DataAccess 的摘要说明。
/// <description>数据处理基类,调用方式:DataAccess.DataSet((string)sqlstr);或者DataAccess.DataSet((string)sqlstr,ref DataSet ds); </description>
/// </summary>
public class DataAccess
{
#region 属性
protected static OleDbConnection conn=new OleDbConnection();
protected static OleDbCommand comm=new OleDbCommand(); protected static string connSting=connString.createConnString();//string.Format("Provider={0};Data Source={1}",System.Configuration.ConfigurationSettings.AppSettings["Provider"],System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["DataSource"]));
#endregion
public DataAccess()
{
//init();
}
#region 内部函数 静态方法中不会执行DataAccess()构造函数 /// <summary>
/// 打开数据库连接
/// </summary>
private static void openConnection()
{
if (conn.State == ConnectionState.Closed)
{
//SysConfig.ConnectionString 为系统配置类中连接字符串,如:"server=localhost;database=databasename;uid=sa;pwd=;"
conn.ConnectionString =DataAccess.connSting;
comm.Connection =conn;
try
{
conn.Open();
}
catch(Exception e)
{
throw new Exception(e.Message);
}
}
}
/// <summary>
/// 关闭当前数据库连接
/// </summary>
private static void closeConnection()
{
if(conn.State == ConnectionState.Open)
conn.Close();
conn.Dispose();
comm.Dispose();
}
#endregion
/// <summary>
/// 执行Sql查询语句
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
public static void ExecuteSql(string sqlstr)
{
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
comm.ExecuteNonQuery();
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
} /// <summary>
/// 执行Sql查询语句并返回第一行的第一条记录,返回值为object 使用时需要拆箱操作 -> Unbox
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>object 返回值 </returns>
public static object ExecuteScalar(string sqlstr)
{
object obj=new object();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
obj=comm.ExecuteScalar();
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
return obj;
}
/// <summary>
/// 返回指定Sql语句的SqlDataReader,请注意,在使用后请关闭本对象,同时将自动调用closeConnection()来关闭数据库连接
/// 方法关闭数据库连接
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>SqlDataReader对象</returns>
public static OleDbDataReader dataReader(string sqlstr)
{
OleDbDataReader dr=null;
try
{
openConnection();
comm.CommandText =sqlstr;
comm.CommandType =CommandType.Text ;
dr=comm.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{
try
{
dr.Close();
closeConnection();
}
catch
{
}
}
return dr;
} /// <summary>
/// 返回指定Sql语句的SqlDataReader,请注意,在使用后请关闭本对象,同时将自动调用closeConnection()来关闭数据库连接
/// 方法关闭数据库连接
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <param name="dr">传入的ref DataReader 对象</param>
public static void dataReader(string sqlstr,ref OleDbDataReader dr)
{
try
{
openConnection();
comm.CommandText =sqlstr;
comm.CommandType =CommandType.Text ;
dr=comm.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{
try
{
if(dr!=null && !dr.IsClosed)
dr.Close();
}
catch
{
}
finally
{
closeConnection();
}
}
finally
{
closeConnection();
}
} /// <summary>
/// 返回指定Sql语句的DataSet
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>DataSet</returns>
public static DataSet dataSet(string sqlstr)
{
DataSet ds= new DataSet();
OleDbDataAdapter da=new OleDbDataAdapter();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
da.SelectCommand =comm;
da.Fill(ds);
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
return ds;
} /// <summary>
/// 返回指定Sql语句的DataSet
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <param name="ds">传入的引用DataSet对象</param>
public static void dataSet(string sqlstr,ref DataSet ds)
{
OleDbDataAdapter da=new OleDbDataAdapter();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
da.SelectCommand =comm;
da.Fill(ds);
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
}
/// <summary>
/// 返回指定Sql语句的DataSet
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <param name="startInt">查询的开始的</param>
/// <param name="maxInt">查询终止的</param>
/// <param name="tableName">表名</param>
public static DataSet dataSet(string sqlstr,int startInt,int maxInt,string tableName)
{
DataSet ds= new DataSet();
OleDbDataAdapter da=new OleDbDataAdapter();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
da.SelectCommand =comm;
da.Fill(ds,startInt,maxInt,tableName);
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
return ds;
}
/// <summary>
/// 返回指定Sql语句的DataTable
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>DataTable</returns>
public static DataTable dataTable(string sqlstr)
{
OleDbDataAdapter da=new OleDbDataAdapter();
DataTable datatable=new DataTable();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
da.SelectCommand =comm;
da.Fill(datatable);
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
return datatable;
} /// <summary>
/// 执行指定Sql语句,同时给传入DataTable进行赋值
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <param name="dt">ref DataTable dt </param>
public static void dataTable(string sqlstr,ref DataTable dt)
{
OleDbDataAdapter da=new OleDbDataAdapter();
try
{
openConnection();
comm.CommandType =CommandType.Text ;
comm.CommandText =sqlstr;
da.SelectCommand =comm;
da.Fill(dt);
}
catch(Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
} }}
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.Text.RegularExpressions;
using System.Data.OleDb;/// <summary>
/// WebFunction 数据操作类
/// </summary>
public class WebFunction
{
protected static OleDbConnection conn = new OleDbConnection();
protected static OleDbCommand comm = new OleDbCommand(); public WebFunction()
{
//
// TODO: 在此处添加构造函数逻辑
//
} /// <summary>
/// 打开数据库连接
/// </summary>
private static void openConnection()
{
if (conn.State == ConnectionState.Closed)
{
conn.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
comm.Connection = conn;
try
{
conn.Open();
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
} /// <summary>
/// 关闭当前数据库连接
/// </summary>
private static void closeConnection()
{
if (conn.State == ConnectionState.Open)
conn.Close();
conn.Dispose();
comm.Dispose();
}
/// <summary>
/// 执行Sql查询语句
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
public static void ExecuteSql(string sqlstr)
{
try
{
openConnection();
comm.CommandType = CommandType.Text;
comm.CommandText = sqlstr;
comm.ExecuteNonQuery();
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
} /// <summary>
/// 执行Sql更新语句
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>布尔值</returns>
public static bool ExecuteUpdate(string sqlstr)
{
int isUpdateOk = 0;
try
{
openConnection();
comm.CommandType = CommandType.Text;
comm.CommandText = sqlstr;
isUpdateOk = Convert.ToInt32(comm.ExecuteNonQuery());
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
if (isUpdateOk > 0)
{
return true;
}
else
{
return false;
}
} /// <summary>
/// 执行Sql查询语句并返回第一行的第一条记录,返回值为object 使用时需要拆箱操作 -> Unbox
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>object 返回值 </returns>
public static object ExecuteScalar(string sqlstr)
{
object obj = new object();
try
{
openConnection();
comm.CommandType = CommandType.Text;
comm.CommandText = sqlstr;
obj = comm.ExecuteScalar();
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
return obj;
} /// <summary>
/// 返回指定Sql语句的SqlDataReader,请注意,在使用后请关闭本对象,同时将自动调用closeConnection()来关闭数据库连接
/// 方法关闭数据库连接
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>SqlDataReader对象</returns>
public static OleDbDataReader dataReader(string sqlstr)
{
OleDbDataReader dr = null;
try
{
openConnection();
comm.CommandText = sqlstr;
comm.CommandType = CommandType.Text;
dr = comm.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{
try
{
dr.Close();
closeConnection();
}
catch
{
}
}
return dr;
} ///<summary>
///关闭datareader
///传入SqlDataReader的ref
///</summary>
public static void closeDataReader(ref OleDbDataReader sdr)
{
try
{
sdr.Close();
sdr.Dispose();
}
catch (Exception)
{ }
} /// <summary>
/// 返回指定Sql语句的DataSet
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <returns>DataSet</returns>
public static DataSet dataSet(string sqlstr)
{
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter();
try
{
openConnection();
comm.CommandType = CommandType.Text;
comm.CommandText = sqlstr;
da.SelectCommand = comm;
da.Fill(ds);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
closeConnection();
}
return ds;
} /// <summary>
/// 返回指定Sql语句的DataSet
/// </summary>
/// <param name="sqlstr">传入的Sql语句</param>
/// <param name="ds">传入的引用DataSet对象</param>
public static void dataSet(string sqlstr, ref DataSet ds)
{
OleDbDataAdapter da = new OleDbDataAdapter();
try
{
openConnection();
comm.CommandType = CommandType.Text;
comm.CommandText = sqlstr;
da.SelectCommand = comm;
da.Fill(ds);
}
catch (Exception e)
{
throw new Exception(e.Message);
} finally
{
closeConnection();
}
}
}