asp.net读取Access数据库。
注:数据库(表名 job id 工作id ,job工作字段)
数据库放在app_data文件中。名称为database.mdb
如果用codesmith生成,选择的数据库连接类型如下图:
项目结构图:
webconfig配置如下:(在configuration中添加)
<connectionStrings> <add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|database.mdb" providerName="System.Data.OleDb"/> </connectionStrings>
OleDbHelper.cs类:
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Data.OleDb; public class OleDbHelper { //从配置文件中读取连接字符串 private static string ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); #region 增删改 public static int ExecuteNonQuery(string commandText, CommandType commandType, params OleDbParameter[] commandParameters) { int row = 0; using (OleDbConnection conn = new OleDbConnection(ConnectionString)) { OleDbCommand cmd = new OleDbCommand(); string os = null; PrepareCommand(cmd, commandType, conn, commandText, commandParameters); row = cmd.ExecuteNonQuery(); } return row; } #endregion #region 返回实体集 public static OleDbDataReader ExecuteReader(string commandText, CommandType commandType, params OleDbParameter[] commandParameters) { OleDbDataReader dr = null; OleDbConnection conn = new OleDbConnection(ConnectionString); try { OleDbCommand cmd = new OleDbCommand(); PrepareCommand(cmd, commandType, conn, commandText, commandParameters); dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch { conn.Close(); throw; } return dr; } #endregion #region ExecuteScalar /// <summary> /// 执行Sql Server存储过程 /// 注意:不能执行有out 参数的存储过程 /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="spName">存储过程名</param> /// <param name="parameterValues">对象参数</param> /// <returns>执行结果对象</returns> public static object ExecuteScalar(string commandText, CommandType commandType,params OleDbParameter[] commandParameters) { OleDbCommand cmd = new OleDbCommand(); using (OleDbConnection conn = new OleDbConnection(ConnectionString)) { PrepareCommand(cmd, commandType, conn, commandText, commandParameters); object val = cmd.ExecuteScalar(); return val; } } #endregion #region Private Method /// <summary> /// 设置一个等待执行的OleDbCommand对象 /// </summary> /// <param name="cmd">OleDbCommand 对象,不允许空对象</param> /// <param name="conn">OleDbConnection 对象,不允许空对象</param> /// <param name="commandText">Sql 语句</param> /// <param name="cmdParms">OleDbParameters 对象,允许为空对象</param> private static void PrepareCommand(OleDbCommand cmd, CommandType commandType, OleDbConnection conn, string commandText, OleDbParameter[] cmdParms) { //打开连接 if (conn.State != ConnectionState.Open) conn.Open(); //设置OleDbCommand对象 cmd.Connection = conn; cmd.CommandText = commandText; cmd.CommandType = commandType; if (cmdParms != null) { foreach (OleDbParameter parm in cmdParms) cmd.Parameters.Add(parm); } } #endregion #region 返回一个表的数据 public static DataSet ExcuteDataSet(string cmdText, params OleDbParameter[] pars) { using (OleDbConnection con = new OleDbConnection(ConnectionString)) { OleDbCommand cmd = new OleDbCommand(); PrepareCommand(cmd, CommandType.Text, con, cmdText, pars); DataSet ds = new DataSet(); using (OleDbDataAdapter da = new OleDbDataAdapter(cmd)) { da.Fill(ds, "Authorities"); return ds; } } } #endregion }