ASN.NET连接Access数据库开发
来源:互联网 发布:linux 查看主机arp 编辑:程序博客网 时间:2024/04/19 20:19
今天楼主给大家带来一份ASP.NET链接Access数据库开发的经验(代码都是博主一行一行敲出来的后面有文中例子的压缩包链接):
代码被博主贴在了后面
链接过几天发上来
第一步:创建Access数据库 Office一般自带,右键添加,没有的在网上查查怎么安装Offcie或者补装Access:
第二步:新建Access数据库放在ACCESSDB文件夹里待用
第三步: 菜单栏选择创建 选择表创建一张表 创建一张表
第四步:为表新增字段
你可以对表的字段进行一些属性设置
如图:你可以选择任意数据类型
你也可以插入一个字段,删除字段,重命名字段
第五步:点击保存,为我们的表命名 博主的命名为UserInfo点击确定
第六步:接下来我们开始创建一个Web项目:Visual C# >> web >> ASP.NET空Web应用程序
第七步:添加新建项>>Visual C#>>Web>>Web窗体>>命名并且保存
第八步:把登陆的网页标签写好 这里用form表单提交
第九步:把刚才新建的Web窗体打开对着它鼠标右键选择“打开所在文件夹” 把我们的ACCESSDB文件夹放进去 此时我们的web窗体Userlogin.aspx文件与ACCESSDB应该再同一目录下
第十步:打开Web.config文件配置链接字符串,链接数据库之前从这里读取链接信息
第十一步:选择解决方案,鼠标右键添加新建项搭建三层架构:DAL>>BLL>>MODEL
VisualC# >> 类库 >>命名并且保存
这里是MODEL层的:
第十二步:三层搭建完毕之后互相添加引用
UserInfoManager 添加引用 Model BLL
BLL 添加引用 Model DAL
DAL 添加引用 Model
添加引用完毕之后 首先打开DAL层:
添加引用:程序集 >> 框架:>>System.Configuration勾上>>确定>>写出如下图代码
这一句获取的就是我们在Web.config配置的信息哦 中括号中的字符串一定要与WebConfig中 connectionString中 name的值对应起来
connectionString = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
第十三步:在DAL层创建一个UserManager搭上前缀 DAL_UserManager编写如下代码:
第十四步:BLL层搭建BLL_UserManager管理类 编写如下代码:
第十五步:打开web窗体UserLogin.aspx 鼠标右键查看代码 Visual studio 2010 可以直接F7
编写如下代码:
运行:(记得提前在数据库插入数据:)
失败的截图:
成功的截图:
UserUpdate.aspx后端代码
UserUpdate.aspx代码:
添加数据
修改数据
查询数据
删除数据
几个功能完成后的截图:
下面是代码部分:
AccessVisitHelper:数据访问的帮助类代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Data;
using System.Data.OleDb;
using Model;
namespace DAL
{
public class AccessVisitHelper
{
private string connectionString;
public AccessVisitHelper()
{
//获取配置文件中的连接字符串
//配置文件中连接字符串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/UserInfoManager/UserInfoManager/ACCESSDB/UserInfoManageDB.mdb
connectionString = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
}
public AccessVisitHelper(string baseFilePath)
{
//重载一个有参数的构造器
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=E:/UserInfoManager/UserInfoManager/" + baseFilePath;
}
/// <summary>
/// 增删改数据的方法
/// </summary>
/// <param name="commandText">SQL</param>
/// <param name="pars">参数数组</param>
/// <returns>受影响的行数</returns>
public int Set_DataObject(string commandText, OleDbParameter[] pars = null)
{
//定义结果值
int result = 0;
//连接对象
//使用using能释放对象资源
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
using (OleDbCommand command = connection.CreateCommand())
{
connection.Open();
//设置SQL
command.CommandText = commandText;
//设置参数
if (pars!=null)
{
command.Parameters.AddRange(pars);
}
result = command.ExecuteNonQuery();
}
}
return result;
}
/// <summary>
/// 创建一个返回DataTable数据的方法
/// </summary>
/// <param name="commandText">SQL</param>
/// <param name="pars">参数数组</param>
/// <returns>DataTable</returns>
public DataTable Get_DataTable(string commandText,OleDbParameter [] pars = null)
{
DataTable dt = new DataTable();
//连接对象
//使用using能释放对象资源
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
using (OleDbCommand command = connection.CreateCommand())
{
//设置SQL
command.CommandText = commandText;
//设置参数
if (pars!=null)
{
command.Parameters.AddRange(pars);
}
//填充数据到DataTable
using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
{
adapter.Fill(dt);
}
}
}
return dt;
}
}
}
DAL_UserManager用户信息管理类:代码如下
using Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DAL
{
public class DAL_UserManager
{
//access访问帮助类
AccessVisitHelper helper = new AccessVisitHelper();
/// <summary>
/// 修改用户信息
/// </summary>
/// <param name="userInfo">用户实体对象</param>
/// <returns>受影响行数</returns>
public int Set_UserInfoUpdate(UserInfo userInfo)
{
string commandText = "Update UserInfo Set UserPassword = @UserPassword,UserPhone = @UserPhone where UserID = @UserID";
List<OleDbParameter> parsList = new List<OleDbParameter>();
parsList.Add(new OleDbParameter("@UserPassword", userInfo.UserPassword));
parsList.Add(new OleDbParameter("@UserPhone",userInfo.UserPhone ));
parsList.Add(new OleDbParameter("@UserID", userInfo.UserId));
return helper.Set_DataObject(commandText, parsList.ToArray());
}
/// <summary>
/// 用户注册
/// </summary>
/// <param name="userInfo">用户信息实体</param>
/// <returns>受影响行数</returns>
public int Set_UserInfoInsert(UserInfo userInfo)
{
string commandText = "Insert into UserInfo(UserAccount,UserPassword,UserPhone) values (@UserAccount,@UserPassowrd,@UserPhone)";
List<OleDbParameter> parsList = new List<OleDbParameter>();
parsList.Add(new OleDbParameter("@UserAccount", userInfo.UserAccount));
parsList.Add(new OleDbParameter("@UserPassword", userInfo.UserPassword));
parsList.Add(new OleDbParameter("@UserPhone", userInfo.UserPhone));
return helper.Set_DataObject(commandText, parsList.ToArray());
}
/// <summary>
/// 用户登录
/// </summary>
/// <param name="userAccount">账号</param>
/// <param name="userPassword">密码</param>
/// <returns>用户信息对象</returns>
public UserInfo Get_UserLogin(string userAccount,string userPassword)
{
UserInfo userinfo = null;
//SQL
string commandText = "select * from UserInfo where UserAccount =@UserAccount and UserPassword = @UserPassword";
//参数数组
List<OleDbParameter> parsList = new List<OleDbParameter>();
parsList.Add(new OleDbParameter("@UserAccount",userAccount));
parsList.Add(new OleDbParameter("@UserPassword",userPassword));
//parsList.ToArray()从集合转化到数组
DataTable dt = helper.Get_DataTable(commandText, parsList.ToArray());
if (dt.Rows.Count>0)
{
//实例化用户对象放在if里面判断如果没有数据返回null
userinfo = new UserInfo()
{
UserId = Convert.ToInt32(dt.Rows[0]["UserID"]),
UserAccount = dt.Rows[0]["UserAccount"].ToString(),
UserPassword = dt.Rows[0]["UserPassword"].ToString(),
UserPhone = dt.Rows[0]["UserPhone"].ToString()
};
}
return userinfo;
}
/// <summary>
/// 注销用户
/// </summary>
/// <param name="userAccount">用户账号</param>
/// <param name="userPassword">用户密码</param>
/// <returns>受影响行数</returns>
public int Set_UserInfoDelete(string userAccount,string userPassword)
{
//SQL
string commandText = "Delete from UserInfo where UserAccount =@UserAccount and UserPassword = @UserPassword";
//参数数组
List<OleDbParameter> parsList = new List<OleDbParameter>();
parsList.Add(new OleDbParameter("@UserAccount", userAccount));
parsList.Add(new OleDbParameter("@UserPassword", userPassword));
return helper.Set_DataObject(commandText, parsList.ToArray());
}
}
}
BLL_UserManager BLL层用户信息管理类:代码如下
using DAL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class BLL_UserManager
{
//DAL层的信息管理类
DAL_UserManager userManager = new DAL_UserManager();
/// <summary>
/// 用户登录
/// </summary>
/// <param name="userAccount">账号</param>
/// <param name="userPassword">密码</param>
/// <returns>用户信息对象</returns>
public UserInfo Get_UserLogin(string userAccount, string userPassword)
{
return userManager.Get_UserLogin(userAccount, userPassword);
}
/// <summary>
/// 修改用户信息
/// </summary>
/// <param name="userInfo">用户实体对象</param>
/// <returns>受影响行数</returns>
public int Set_UserInfoUpdate(UserInfo userInfo)
{
return userManager.Set_UserInfoUpdate(userInfo);
}
/// <summary>
/// 用户注册
/// </summary>
/// <param name="userInfo">用户信息实体</param>
/// <returns>受影响行数</returns>
public int Set_UserInfoInsert(UserInfo userInfo)
{
return userManager.Set_UserInfoInsert(userInfo);
}
/// <summary>
/// 注销用户
/// </summary>
/// <param name="userAccount">用户账号</param>
/// <param name="userPassword">用户密码</param>
/// <returns>受影响行数</returns>
public int Set_UserInfoDelete(string userAccount, string userPassword)
{
return userManager.Set_UserInfoDelete(userAccount, userPassword);
}
}
}
UserInfo 用户实体信息类:代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model
{
public class UserInfo
{
public int UserId { get; set; }
public string UserAccount { get; set; }
public string UserPassword { get; set; }
public string UserPhone { get; set; }
}
}
UserRegister.aspx 注册:前端代码如下
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UserRegister.aspx.cs" Inherits="UserInfoManager.UserRegister" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="/UserRegister.aspx">注册</a> | <a href="/UserLogin.aspx">登陆</a> | <a href="/UserUpdate.aspx">修改</a> | <a href="/UserDelete.aspx">注销</a>
<h3>用户注册</h3>
账号:<input type="text" name="userAccount" /><br/><br/>
密码:<input type="password" name="userPassword" /><br/><br/>
手机:<input type="text" name="userPhone" /><br/><br/>
<input type="submit" value="提交注册" /><br/><br/>
</div>
</form>
</body>
</html>
UserRegister.aspx 注册:后端代码如下
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace UserInfoManager
{
public partial class UserRegister : System.Web.UI.Page
{
/// <summary>
/// BLL层用户信息管理类
/// </summary>
BLL_UserManager userManager = new BLL_UserManager();
protected void Page_Load(object sender, EventArgs e)
{
if(IsPostBack){
string userAccount = Request.Form["userAccount"];
string userPassword = Request.Form["userPassword"];
string userPhone = Request.Form["userPhone"];
//实体类属性赋值
UserInfo userInfo = new UserInfo();
userInfo.UserAccount = userAccount;
userInfo.UserPassword = userPassword;
userInfo.UserPhone = userPhone;
//执行注册
int result = userManager.Set_UserInfoInsert(userInfo);
if (result > 0)
{
Response.Write("<script>alert('注册成功!');</script>");
}
else
{
Response.Write("<script>alert('注册失败!');</script>");
}
}
}
}
}
UserLogin.aspx 登录 前端代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UserLogin.aspx.cs" Inherits="UserInfoManager.UserLogin" %><!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<a href="/UserRegister.aspx">注册</a> | <a href="/UserLogin.aspx">登陆</a> | <a href="/UserUpdate.aspx">修改</a> | <a href="/UserDelete.aspx">注销</a>
<h3>用户登录</h3>
账号:<input type="text" name="userAccount" /><br/><br/>
密码:<input type="password" name="userPassword" /><br/><br/>
<input type="submit" value="点击登录" />
</form>
</body>
</html>
UserLogin.aspx 登录 后端代码如下:
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace UserInfoManager
{
public partial class UserLogin : System.Web.UI.Page
{
/// <summary>
/// BLL层用户信息管理类
/// </summary>
BLL_UserManager userManager = new BLL_UserManager();
protected void Page_Load(object sender, EventArgs e)
{
///判断是否是用户发送请求
if(IsPostBack){
//input name的值
string userPassword = Request.Form["userPassword"];
string userAccount = Request.Form["userAccount"];
UserInfo ui = userManager.Get_UserLogin(userAccount, userPassword);
//判断用户是否登陆成功
if (ui == null)
{
Response.Write("<script>alert('登陆失败!账号密码不匹配!')</script>");
}
else
{
//新建一个Session 保存用户信息
Session["userInfo"] = ui;
Response.Redirect("/UserUpdate.aspx");
Response.End();
}
}
}
}
}
UserUpdate.aspx 详细信息/修改信息前端代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UserUpdate.aspx.cs" Inherits="UserInfoManager.UserUpdate" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="/UserRegister.aspx">注册</a> | <a href="/UserLogin.aspx">登陆</a> | <a href="/UserUpdate.aspx">修改</a> | <a href="/UserDelete.aspx">注销</a>
<h3>用户信息</h3>
<br />
序号: <%=this.userInfo.UserId %><br />
<br />
账号:<input type="text" name="userAccount" readonly="true" value="<%=this.userInfo.UserAccount %>" /><br />
<br />
密码:<input type="password" name="userPassword" /><br />
<br />
电话:<input type="text" name="userPhone" value="<%=this.userInfo.UserPhone %>" /><br />
<br />
<input value="点击修改" type="submit" />
</div>
</form>
</body>
</html>
UserUpdate.aspx 详细信息/修改信息后端代码如下:
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace UserInfoManager
{
public partial class UserUpdate : System.Web.UI.Page
{
public UserInfo userInfo;
BLL_UserManager bll_UserManager = new BLL_UserManager();
protected void Page_Load(object sender, EventArgs e)
{
//从Session中取出session对象 转化为UserInfo对象
userInfo = Session["userInfo"] as UserInfo;
if (IsPostBack)
{
//获取提交的数据
string userPassowrd = Request.Form["userPassword"];
string userPhone = Request.Form["userPhone"];
userInfo.UserPassword = userPassowrd;
userInfo.UserPhone = userPhone;
int result = bll_UserManager.Set_UserInfoUpdate(userInfo);
if (result > 0)
{
Response.Write("<script>alert('修改成功!');</script>");
}
else
{
Response.Write("<script>alert('修改失败!');</script>");
}
}
}
}
}
UserRegister.aspx注册 前端代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UserRegister.aspx.cs" Inherits="UserInfoManager.UserRegister" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="/UserRegister.aspx">注册</a> | <a href="/UserLogin.aspx">登陆</a> | <a href="/UserUpdate.aspx">修改</a> | <a href="/UserDelete.aspx">注销</a>
<h3>用户注册</h3>
账号:<input type="text" name="userAccount" /><br/><br/>
密码:<input type="password" name="userPassword" /><br/><br/>
手机:<input type="text" name="userPhone" /><br/><br/>
<input type="submit" value="提交注册" /><br/><br/>
</div>
</form>
</body>
</html>
UserRegister.aspx注册 后端代码如下:
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace UserInfoManager
{
public partial class UserRegister : System.Web.UI.Page
{
/// <summary>
/// BLL层用户信息管理类
/// </summary>
BLL_UserManager userManager = new BLL_UserManager();
protected void Page_Load(object sender, EventArgs e)
{
if(IsPostBack){
string userAccount = Request.Form["userAccount"];
string userPassword = Request.Form["userPassword"];
string userPhone = Request.Form["userPhone"];
//实体类属性赋值
UserInfo userInfo = new UserInfo();
userInfo.UserAccount = userAccount;
userInfo.UserPassword = userPassword;
userInfo.UserPhone = userPhone;
//执行注册
int result = userManager.Set_UserInfoInsert(userInfo);
if (result > 0)
{
Response.Write("<script>alert('注册成功!');</script>");
}
else
{
Response.Write("<script>alert('注册失败!');</script>");
}
}
}
}
}
这是本文示例连接:http://download.csdn.net/detail/microsoftdesigner/9688304
有的地方因为篇幅原因未做详细说明,还请大家见谅
- ASN.NET连接Access数据库开发
- asp.net连接Access数据库
- asp.net连接Access数据库
- asp.net连接Access数据库
- asp.net连接Access数据库
- ASP.NET连接Access数据库
- ASP.Net 连接ACCESS数据库
- ASP.NET连接Access数据库
- ASP.NET连接Access数据库
- asp.net连接Access数据库
- ASP.net连接access数据库
- asp.net连接Access数据库
- asp.net连接Access数据库
- NET access连接数据库封装
- ASP.NET连接Access数据库
- asp.net 连接access数据库
- ASP.NET连接Access数据库
- Asp.net 连接Access数据库
- Hello ,Mirgo!
- jQuery 获取屏幕高度、宽度
- 基于S3C2440的USB摄像头应用简单实现之应用层框架(一)
- 【项目实战】使用Spring Test+Junit4整合进行测试
- 从苏宁电器到卡巴斯基(后传)第03篇:我与鱼C论坛的是是非非
- ASN.NET连接Access数据库开发
- 使用 install.packages() 安装所需的包
- 重载
- centos7.0时间修改
- JavaWeb模拟键盘
- Scala基础
- postgresql 关于geo 按距离排序返回 性能测试
- 1099. Build A Binary Search Tree (30)
- js闭包实现私有变量和单例模式