如何使用.net访问Access数据库
2010-01-08 09:20
190 查看
/article/5450840.html
使用.net访问Access数据库:
1.BL层:新增一个DataAccess类。
Code
2.Web.Config:
在Config文件中添加Access文件的路径:
3.UI层。
在页面添加控件,在cs文件中使用上边的类。
访问带密码的Access文件
ACCESS 2000
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;
带密码的
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;
ACCESS 2007
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;
带密码的
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword;
http://hi.baidu.com/trying_before/item/c9150ff4b95e41d143c36acc
http://www.microsoft.com/en-in/download/details.aspx?id=13255
使用.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); }
访问带密码的Access文件
<add key="ConnProvider" value="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|a.mdb;Jet OleDB:Database Password=123" />
string LinkString = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ + System.Windows.Forms.Application.StartupPath + "\\a.mdb";
ACCESS 2000
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;
带密码的
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;
ACCESS 2007
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;
带密码的
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword;
http://hi.baidu.com/trying_before/item/c9150ff4b95e41d143c36acc
Microsoft Access Database Engine
http://www.microsoft.com/en-in/download/details.aspx?id=13255
相关文章推荐
- 如何使用.net访问Access数据库 (转)
- 如何使用.net访问Access数据库
- 使用 ODP.NET 访问 Oracle(.net如何访问Oracle)详解
- 使用 ODP.NET 访问 Oracle(.net如何访问Oracle)详解【转】
- 如何解决ADO.NET访问Access数据库出现"操作必须使用一个可更新的查询"的问题
- 如何解决ADO.NET访问Access数据库出现"操作必须使用一个可更新的查询"的问题
- .net如何使用C++的代码?托管C ++和非托管C ++互相访问
- 如何解决ADO.NET访问Access数据库出现"操作必须使用一个可更新的查询"的问题
- 使用 ODP.NET 访问 Oracle(.net如何访问Oracle)详解
- 使用 ODP.NET 访问 Oracle(.net如何访问Oracle)详解
- .net如何使用C++的代码?托管C ++和非托管C ++互相访问
- 使用 ODP.NET 访问 Oracle(.net如何访问Oracle)详解
- 如何使用angular4.x的HttpClient访问.net webapi
- 如何解决ADO.NET访问Access数据库出现"操作必须使用一个可更新的查询"的问题(非原创,摘自书中)
- 关于.NET程序中使用Excel对象后,如何结束残留的Excel进程。
- How to use FTP via Windows Explorer(如何使用资源管理器访问 ftp)
- 关于如何删除DataTable中的重复行---使用.Net提供方法
- .net中日至框架log4net.dll如何使用
- 使用.net如何发布web service
- 原来Gmail中使用了ActiveX,那么如何保证linux用户的访问行呢?