前言:今天整理程序,看到之前写的一个Demo,也不知道是从哪里参考的了,写到这里,留作备用吧。使用.net访问Access数据库: 1.BL层:新增一个DataAccess类。 Code 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;namespace Haley.FrameWork{ /**//// <summary> /// DataAccess 的摘要说明 /// </summary> public class DataAccess { protected static OleDbConnection conn = new OleDbConnection(); protected static OleDbCommand comm = new OleDbCommand(); public DataAccess() { //init } /**//// <summary> /// 打开数据库 /// </summary> private static void openConnection() { if (conn.State == ConnectionState.Closed) { conn.ConnectionString = @"Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + ConfigurationManager.AppSettings["myconn"];//web.config文件里设定。 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"></param> public static void excuteSql(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语句的OleDbDataReader对象,使用时请注意关闭这个对象。 /// </summary> /// <param name="sqlstr"></param> /// <returns></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语句的OleDbDataReader对象,使用时请注意关闭 /// </summary> /// <param name="sqlstr"></param> /// <param name="dr"></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(); } } } /**//// <summary> /// 返回指定sql语句的dataset /// </summary> /// <param name="sqlstr"></param> /// <returns></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"></param> /// <param name="ds"></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语句的datatable /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> public static DataTable dataTable(string sqlstr) { DataTable dt = new DataTable(); 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(); } return dt; } /**//// <summary> /// 返回指定sql语句的datatable /// </summary> /// <param name="sqlstr"></param> /// <param name="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(); } } /**//// <summary> /// 返回指定sql语句的dataview /// </summary> /// <param name="sqlstr"></param> /// <returns></returns> public static DataView dataView(string sqlstr) { OleDbDataAdapter da = new OleDbDataAdapter(); DataView dv = new DataView(); DataSet ds = new DataSet(); try { openConnection(); comm.CommandType = CommandType.Text; comm.CommandText = sqlstr; da.SelectCommand = comm; da.Fill(ds); dv = ds.Tables[0].DefaultView; } catch (Exception e) { throw new Exception(e.Message); } finally { closeConnection(); } return dv; } }} 2.Web.Config: 在Config文件中添加Access文件的路径: < appSettings > <!-- 这里是存放Access文件的地址。用Access文件存放的路径替换下边的路径。 --> < add key ="myconn" value ="D:\Test\Test.mdb" /> </ appSettings > 3.UI层。 在页面添加控件,在cs文件中使用上边的类。 protected void Button1_Click( object sender, EventArgs e) { string name = TextBox1.Text; string strSql = "insert into Table1(Name) values('" + name + "')"; DataAccess.excuteSql(strSql); } 转载于:https://www.cnblogs.com/zhaiqinjiang/archive/2007/12/10/989074.html