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 = ;
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
}
jobs.cs类:
using System;
using System.Collections.Generic;
using System.Web; namespace WebTestAccess
{
public class jobs
{
public jobs() { } public jobs(string job)
{
this.job = job;
} public jobs(int id, string job)
{
this.id = id;
this.job = job;
}
private int id; public int Id
{
get { return id; }
set { id = value; }
} private string job; public string Job
{
get { return job; }
set { job = value; }
}
}
}
jobservice.cs类:
using System;
using System.Collections.Generic;
using System.Web;
using System.Data.OleDb;
using System.Configuration;
using System.Data; namespace WebTestAccess
{
public class jobservice
{
public List<jobs> getjobsall()
{
List<jobs> jobss = new List<jobs>();
string sql = "select * from jobs";
using(OleDbDataReader dr=OleDbHelper.ExecuteReader(sql,CommandType.Text))
{
while(dr.Read())
{
jobs job = new jobs(
Convert.ToInt32(dr["id"]),
dr["job"].ToString()
);
jobss.Add(job);
}
}
return jobss;
} //id为自增。
public int addjob(jobs job)
{
int result = -;
string sql = string.Format("insert into jobs(job) values('{0}')",job.Job);
OleDbParameter para = new OleDbParameter("@job", job.Job);
result = OleDbHelper.ExecuteNonQuery(sql, CommandType.Text, para);
return result;
}
}
}
asp.net读取Access数据库。的更多相关文章
- java读取ACCESS数据库的简单示例
java读取ACCESS数据库的简单示例 虽然简单,对初学者来说,如果没有一段可以成功执行的代码供参考,还真难调试 先用ACCESS建一个数据库 DB1.MDB,里面有一表"table1&q ...
- ASP连接读写ACCESS数据库实例(转)
(一) 数据库的选择:有许多的数据库你可以选择,SQL SERVER.ACCESS(*.mdb).EXCEL(*.xls).FOXPRO(*.dbf)甚至普通的文本文件(*.txt)都可以达到存储 ...
- asp.net连接Access数据库实现登陆功能
这里话就不多说了,直接演示代码. 连接access数据库首先需要配置web.config <appSettings> <add key="AccessConnString& ...
- C# 读取 Access 数据库表的例子
using System;using System.Data;using System.Data.OleDb;using System.Collections.Generic;using System ...
- php读取access数据库
<?php //读取mdb数据库 $conn = new com("ADODB.Connection"); $connstr = "DRIVER={Microsof ...
- java通过Access_JDBC30读取access数据库时无法获取最新插入的记录
1.编写了一个循环程序,每几秒钟读取一次,数据库中最新一行数据 连接access数据库的方法和查询的信息.之后开一个定时去掉用. package javacommon.util; import jav ...
- asp.net mvc access数据库操作
连接access数据库其实也简单,只要按照mvc的模式来就可以,遵循c v约定就可以 既然渲染试图是强类型,那么取得的数据就转换成强类型,其他一切和asp.net操作一样 DB mydb = new ...
- 【.Net 学习系列】-- Windows身份模拟(WindowsIdentity.Impersonate)时读取Access数据库
参考资料: WindowsIdentity.Impersonate https://msdn.microsoft.com/zh-cn/library/w070t6ka(v=vs.110).aspx A ...
- asp.net 连接access数据库方法
在 Web.Config 中配置 Access 数据库驱动和数据库文件名称. 请看代码 <appSettings> <add key="DBDriver" val ...
随机推荐
- git branch分支管理用法总结
查看分支(远程和本地) 1 查看本地分支: $ git branch 2 查看远程分支: $ git branch -r 3.查看本地和远程分支 $ git branch -a 创建分支 1.创建本地 ...
- C语言基础学习基本数据类型-字符专属的输入输出函数
可以使用%c说明符以及scanf()和printf()函数来输入输出字符.现在我们将学习专门为面向字符而设计的一对函数:getchar()和putchar().getchar()函数没有参数,它返回来 ...
- 2-16 HDO1106
这题寒假也没搞出来,但今天花了一小时终于搞定. 题意是输入一串数字字符,把‘5’当作空格,然后把被分割开的数字进行排序输出. 首先是字符串输入,按照高精度的处理方法,数值低位放到数组低位.(字符串型的 ...
- 用tbody代替div 解决 table tr的隐藏问题
有如下需求,需要控制一个table内几个tr的显示问题.一开始想的方法是在这几个要显示的tr外面套一个div,利用div的display:none属性来解决. 但是后来发现div和tr嵌套的时候会有问 ...
- 集合及特殊集合arrayList
1,运用集合 arrayList 首先复制Colections加 : 创建arrayList ar =new arrayList(); ArrayList具体提供的功能:属性 ...
- iphone升级ios7之后出现蓝框框一直跳的问题
问题描述:iphone升级ios7之后出现蓝框框一直跳 解决办法:设置-通用-辅助功能-切换控制-里边打开了切换控制及自动扫描,直接关闭切换控制就好了
- 【递归】Vijos P1114 FBI树(NOIP2004普及组第三题)
题目链接: https://vijos.org/p/1114 题目大意: 把01串一分为二,左半边描述当前节点左子树,右半边描述右子树,子树全为1则为I节点,全为0则为B节点,混合则为F节点,直到当前 ...
- 两个bootstrap插件bootstrap-select和bootstrap-paginator
基于bootstrap的选择器 http://silviomoreto.github.io/bootstrap-select/ <label for="androids" c ...
- 进程间通讯aidl
进程间通讯(aidl) 1.首先定义一个接口 2.把这个接口的文件扩展名改为xxx.aidl 3.写一个MyService类继承自Service类重新里面的方法, 4.在MyService类定义一个内 ...
- Tomcat启动时报错:java.net.BindException: Permission denied <null>:80 【转载】
本文转载自: http://blog.sina.com.cn/s/blog_4550f3ca0101g37l.html 问题起因:做负载均衡时需要将Web工程与Wap工程同时部署在一台Suse服务 ...