范例
当前位置:首页 > 其他范文 > 范例 > 列表页

Access行业数据库开发范例应用

小草范文网  发布于:2017-04-05  分类: 范例 手机版

篇一:Access2010数据库快速开发案例教程(四)

7.1 员工信息列表及与平台整合(常规设计)

学习要求:本节预计学习课时为1小时,重点是:a.创建显示数据的子窗体及相关窗体、控件属性的调整;b.子窗体应用于快速开发平台。

学习说明

经过前面几课的学习,我们已经初步掌握了表和查询的设计和实现,接下来,我们就可以学习和用户关系最大的数据库对象——窗体的设计和实现,事实上,对于普通用户而言,他们唯一可以直接接触的对象,只有两类,一类是报表,另一类,就是窗体。

在前面的课程中,窗体,我们已经见过多次了——比如,登录界面,就是一个已经完成开发的窗体,快速链接表对话框、导航菜单编辑器等,也是窗体——也就是说,所谓窗体,就是用户操作界面的一部分(还有一部分是报表),接下来,我们就来介绍窗体——也就是用户最为常用的操作界面的开发。

用户操作界面,也就是窗体的开发,有两种方式:

第一种,是纯手工的开发——开发完成之后,再将手工开发的窗体嵌入平台界面之中,以便使用——这一种开发方式,便于我们学习Access的开发技术和一些控件的使用,因而,也是十分必要的,并且,也有助于掌握第二种开发方式;

第二种,便是基于平台的开发,《盟威软件快速开发平台》提供了一键生成所需窗体的功能——但在执行一键生成功能之前,需要准确地提供各类参数——为了理解并准确地提供这些参数的值,这就需要基本掌握第一种开发技术,不然,即便是平台提供了相应的快捷开发的功能,可是由于用户基础知识掌握不足的局限,也很难用好这些功能。

创建查看员工信息列表窗体

就目前所拥有的三个表来说,每一种表都需要提供查看、增加、修改、删除的操作界面(tblBxmx表还需要提供查找的功能),因此,我们就先以tblCodeyg表为例来详细解说其制作方法。

首先,我们知道,正常情况下,普通用户是不能直接接触表的,因此,必须给他们提供查看数据的操作界面,接下来,我们就为tblCodeyg表制作这种查阅界面。

首先,按住Shift键打开【Main.mdb】文件,如若左侧默认显示的不是【窗体】的列表,则单击左侧窗格的

按钮,在弹出的下拉列表中选择【窗体(F)】,接下来,切换到【创建】菜单,然后,单击工具栏上的

按钮,如下图所示:

当我们执行【窗体设计】命令之后,也就是创建了一个新的窗体,并且,自动打开了该窗体的设计视图,如下图所示:

如上图所示,该界面就是窗体设计、开发的主要界面,工具栏中部的控件区,包含有窗体开发中极为常用的各类控件,通过单击控件区右下角的按钮,就可以展开控件区,以便显示出所有的可用控件,如下图所示:

如上图所示,这些控件默认都开启了向导功能,也就是说,当我们使用任何一个控件时,都会附带启动该控件的使用向导——为了课程讲述的方便,我们需要关闭该功能——为了关闭此功能,我们只需将【使用控件向导(W)】左侧的按钮浮起即可(默认是按下的)。

通过前面的课程学习,我们已经对数据源已经有所了解——没错,既然要通过窗体来查看数据,那么,必须要给窗体赋予数据源——当前,必须将tblCodeyg表作为数据源赋予给该窗体,这样才能保证该窗体的设计目标的实现。

接下来,我们就为该窗体赋予数据源,方法如下:

首先,我们注意到窗体的设计视图的上侧和左侧各有一个标尺,当我们单击标尺的任一位置时,标尺的交汇处就会出现一个小方块,如下图所示:

如上图所示,当标尺的交汇处出现一个小黑方块时,我们用鼠标左键双击该小黑方块,或者单击工具

栏上的按钮,就会在右侧出现窗体的属性设置区域,如下图所示:

接下来,我们切换【数据】选项卡,如下图所示:

接下来,我们可以注意到,【数据】选项卡的第一个属性设置,便是【记录源】。

其实,关于【源】一类的属性——对于字段来说,就是【行来源】,对于类似窗体、报表这样的数据库对象来说,就是【数据源】——名称虽然不同,但是原理都是一样的。

当然,当前的属性区域的大小,也是可以调整的——当我们把鼠标移动的窗体的属性区域和窗体设计区域的交汇处时,鼠标就会变成黑色的双向箭头——这个时候,我们按下鼠标左键向左或向右拖拽,就可以调整属性区域的宽度。

为了便于浏览,接下来,我们将属性区域拉宽一些,完成之后,如下图所示:

接下来,我们在【记录源】的下拉列表中,选择tblCodeyg,或直接输入tblCodeyg,如下图所示:

篇二:Access数据库和C#的应用实例

我的小项目需要,所以使用了一个Access作为数据库,C#作为开发工具 来做的实例给大家看看,有不对的地方请谅解。

第一:使用Access建立数据库MemberData.mdb ,包括一个数据库表t_memberdata

Access不像SQL那么方便的使用存储过程,虽然Access的也是叫存储过程,可是这个是非常简单的存储过程,建立方法可(本文来自:wwW.xIaocAofanwEn.coM 小草 范文 网:Access行业数据库开发范例应用)以参照网上的建立方法,本人里面仅仅使用了五个存储过程

【其实网上说那些可以称为存储过程,可是跟SQL的存储过程有很大的区别】,Access里面的存储过程也是使用参数化的形式。

1. proc_memberdataadd(添加会员信息)

INSERT INTO t_memberdata ( membername, memberage, memberwork, membercontact ) VALUES (t_membername, t_memberage, t_memberwork, t_membercontact);

2. proc_memberdatadelete(删除会员信息)

DELETE *

FROM t_memberdata

WHERE membername=t_membername;

3. proc_memberdataquery(查询会员信息的全部)

SELECT *

FROM t_memberdata;

4. proc_selectbymemberamend(修改会员信息)

UPDATE t_memberdata SET memberage = t_memberage, memberwork = t_memberwork, membercontact = t_membercontact

WHERE membername=t_membername;

5. proc_selectbymembername(根据会员名称查询会员的信息)

SELECT *

FROM t_memberdata

WHERE membername=t_memberdata;

以上是数据库和数据库表还有需要用到的存储过程

第二:c#代码部分了

我的项目是:UsingAccessOperatrion

项目包括了一个Form1窗体 一个OleDbHelper的数据库操作类,我们要开启如Access 数据库中的数据,必须用ADOT 透过OLEDB 来开启 【这个链接是介绍它的http://baike.baidu.com/view/570821.htm】, 所以你要在项目里面引用这个命名空间:using System.Data.OleDb; OleDbHelper数据库操作类想象代码可以查看项目

还是用了一个实体类M_Member.cs

UsingAccessOperatrion 这个项目里面很详细的写出了使用Access数据进行添加/删除/修改 这些基本的功能,希望读者自己认真看看那个项目即可明白。

若有不明白的地方,咱们可以共同谈论,我的qq是:823783931

一下是贴上代码:

项目的节目如下:

第一个【确定】按钮代码:

private void btSearchOk_Click(object sender, EventArgs e)

{

//查询会员信息

try

{

if (tbMn.Text == "")

{

MessageBox.Show("请输入会员姓名");

}

else

{

string strProName = "proc_selectbymembername";

string conn = UsingAccessOperatrion.OleDbHelper.connString;

CommandType comType = CommandType.StoredProcedure;

OleDbParameter[] paras ={

new

OleDbParameter("t_membername",OleDbType.VarChar)};

paras[0].Value = tbMn.Text.ToString();

DataSet dataSets = new DataSet();

dataSets = UsingAccessOperatrion.OleDbHelper.GetDataSet(dataSets, "memberdata", conn, comType, strProName, paras);

MemberGridView.DataSource = dataSets.Tables["memberdata"];

int resultRows = dataSets.Tables["memberdata"].Rows.Count;

if (resultRows >=1)

{

MessageBox.Show("成功查询");

}

else

{

MessageBox.Show("暂无该会员信息");

}

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

第二个【确定】代码:

private void btDeleteOk_Click(object sender, EventArgs e)

{

//删除会员信息

try

{

if (tbMn.Text == "")

{

MessageBox.Show("请输入会员姓名");

}

else

{

MessageBoxButtons messageButton = MessageBoxButtons.OKCancel;

DialogResult result = MessageBox.Show("确定要删除吗?", "删除会员信息", messageButton);

if (result == DialogResult.OK)

{

string strProName = "proc_memberdatadelete";

string conn = UsingAccessOperatrion.OleDbHelper.connString; CommandType comType = CommandType.StoredProcedure;

OleDbParameter[] paras = {

new OleDbParameter ("t_membername", SqlDbType.VarChar)};

paras[0].Value = tbMn.Text;

int number = UsingAccessOperatrion.OleDbHelper.ExecuteNonQuery(conn, comType, strProName, paras);

if (number >= 1)

{

MessageBox.Show("成功删除");

}

else

{

MessageBox.Show("没有该会员,无法执行删除");

}

GetMemberInformation();//窗体信息刷新

tbMn.Text = string.Empty;

}

}

this.label1.Visible = false;

this.tbMn.Visible = false;

this.btDeleteOk.Visible = false;

this.toolStripLabel1.Visible = true;

this.toolStripLabel2.Visible = true;

this.toolStripLabel3.Visible = true;

this.toolStripLabel4.Visible = true;

this.btAdd.Visible = true;

this.btAmend.Visible = true;

this.btSearch.Visible = true;

Point pToolStript = new Point(0, 0);

toolStrip1.Location = pToolStript;

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

第三个【会员查询信息】按钮代码如下:

private void btSearch_Click(object sender, EventArgs e){

this.label1.Visible = true;

//Point pLable1 = new Point (9, 12); //label1.Location = pLable1;

this.tbMn.Visible = true;

Point P3 = new Point(101, 0);

this.toolStrip1.Location = P3;

this.label1.Visible = true;

this.tbMn.Visible = true;

this.btSearchOk.Visible = true;

this.toolStripLabel1.Visible = false; this.toolStripLabel2.Visible = false; this.toolStripLabel3.Visible = false; this.toolStripLabel4.Visible = false; this.btDelete.Visible = false;

this.btAdd.Visible = false;

this.btAmend.Visible = false;

}

第四个【会员信息删除】按钮代码如下:

private void btDelete_Click(object sender, EventArgs e){

Point P3 = new Point(101, 0);

this.toolStrip1.Location = P3;

this.label1.Visible = true;

this.tbMn.Visible = true;

this.btDeleteOk.Visible = true;

this.toolStripLabel1.Visible = false; this.toolStripLabel2.Visible = false; this.toolStripLabel3.Visible = false; this.toolStripLabel4.Visible = false; this.btAdd.Visible = false;

this.btAmend.Visible = false;

this.btSearch.Visible = false;

}

第五个【会员信息添加】按钮代码如下:

private void btAdd_Click(object sender, EventArgs e){

this.label1.Visible = false;

this.toolStripLabel1.Visible = false;

篇三:C#Access数据库应用实例

我的小项目需要,所以使用了一个Access作为数据库,C#作为开发工具 来做的实例给大家看看,有不对的地方请谅解。

第一:使用Access建立数据库MemberData.mdb ,包括一个数据库表t_memberdata

Access不像SQL那么方便的使用存储过程,虽然Access的也是叫存储过程,可是这个是非常简单的存储过程,建立方法可以参照网上的建立方法,本人里面仅仅使用了五个存储过程

【其实网上说那些可以称为存储过程,可是跟SQL的存储过程有很大的区别】,Access里面的存储过程也是使用参数化的形式。

1. proc_memberdataadd(添加会员信息)

INSERT INTO t_memberdata ( membername, memberage, memberwork, membercontact ) VALUES (t_membername, t_memberage, t_memberwork, t_membercontact);

2. proc_memberdatadelete(删除会员信息)

DELETE *

FROM t_memberdata

WHERE membername=t_membername;

3. proc_memberdataquery(查询会员信息的全部)

SELECT *

FROM t_memberdata;

4. proc_selectbymemberamend(修改会员信息)

UPDATE t_memberdata SET memberage = t_memberage, memberwork = t_memberwork, membercontact = t_membercontact

WHERE membername=t_membername;

5. proc_selectbymembername(根据会员名称查询会员的信息)

SELECT *

FROM t_memberdata

WHERE membername=t_memberdata;

以上是数据库和数据库表还有需要用到的存储过程

第二:c#代码部分了

我的项目是:UsingAccessOperatrion

项目包括了一个Form1窗体 一个OleDbHelper的数据库操作类,我们要开启如Access 数据库中的数据,必须用ADOT 透过OLEDB 来开启 【这个链接是介绍它的】, 所以你要在项目里面引用这个命名空间:using System.Data.OleDb; OleDbHelper数据库操作类想象代码可以查看项目

还是用了一个实体类M_Member.cs

UsingAccessOperatrion 这个项目里面很详细的写出了使用Access数据进行添加/删除/修改 这些基本的功能,希望读者自己认真看看那个项目即可明白。

若有不明白的地方,咱们可以共同谈论,我的qq是:823783931

一下是贴上代码:

项目的节目如下:

第一个【确定】按钮代码:

private void btSearchOk_Click(object sender, EventArgs e)

{

//查询会员信息

try

{

if (tbMn.Text == "")

{

MessageBox.Show("请输入会员姓名");

}

else

{

string strProName = "proc_selectbymembername";

string conn = UsingAccessOperatrion.OleDbHelper.connString;

CommandType comType = CommandType.StoredProcedure;

OleDbParameter[] paras ={

new

OleDbParameter("t_membername",OleDbType.VarChar)};

paras[0].Value = tbMn.Text.ToString();

DataSet dataSets = new DataSet();

dataSets = UsingAccessOperatrion.OleDbHelper.GetDataSet(dataSets, "memberdata", conn, comType, strProName, paras);

MemberGridView.DataSource = dataSets.Tables["memberdata"];

int resultRows = dataSets.Tables["memberdata"].Rows.Count;

if (resultRows >=1)

{

MessageBox.Show("成功查询");

}

else

{

MessageBox.Show("暂无该会员信息");

}

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

第二个【确定】代码:

private void btDeleteOk_Click(object sender, EventArgs e)

{

//删除会员信息

try

{

if (tbMn.Text == "")

{

MessageBox.Show("请输入会员姓名");

}

else

{

MessageBoxButtons messageButton = MessageBoxButtons.OKCancel;

DialogResult result = MessageBox.Show("确定要删除吗?", "删除会员信息", messageButton);

if (result == DialogResult.OK)

{

string strProName = "proc_memberdatadelete";

string conn = UsingAccessOperatrion.OleDbHelper.connString; CommandType comType = CommandType.StoredProcedure;

OleDbParameter[] paras = {

new OleDbParameter ("t_membername", SqlDbType.VarChar)};

paras[0].Value = tbMn.Text;

int number = UsingAccessOperatrion.OleDbHelper.ExecuteNonQuery(conn, comType, strProName, paras);

if (number >= 1)

{

MessageBox.Show("成功删除");

}

else

{

MessageBox.Show("没有该会员,无法执行删除");

}

GetMemberInformation();//窗体信息刷新

tbMn.Text = string.Empty;

}

}

this.label1.Visible = false;

this.tbMn.Visible = false;

this.btDeleteOk.Visible = false;

this.toolStripLabel1.Visible = true;

this.toolStripLabel2.Visible = true;

this.toolStripLabel3.Visible = true;

this.toolStripLabel4.Visible = true;

this.btAdd.Visible = true;

this.btAmend.Visible = true;

this.btSearch.Visible = true;

Point pToolStript = new Point(0, 0);

toolStrip1.Location = pToolStript;

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

第三个【会员查询信息】按钮代码如下:

private void btSearch_Click(object sender, EventArgs e){

this.label1.Visible = true;

//Point pLable1 = new Point (9, 12); //label1.Location = pLable1;

this.tbMn.Visible = true;

Point P3 = new Point(101, 0);

this.toolStrip1.Location = P3;

this.label1.Visible = true;

this.tbMn.Visible = true;

this.btSearchOk.Visible = true;

this.toolStripLabel1.Visible = false; this.toolStripLabel2.Visible = false; this.toolStripLabel3.Visible = false; this.toolStripLabel4.Visible = false; this.btDelete.Visible = false;

this.btAdd.Visible = false;

this.btAmend.Visible = false;

}

第四个【会员信息删除】按钮代码如下:

private void btDelete_Click(object sender, EventArgs e){

Point P3 = new Point(101, 0);

this.toolStrip1.Location = P3;

this.label1.Visible = true;

this.tbMn.Visible = true;

this.btDeleteOk.Visible = true;

this.toolStripLabel1.Visible = false; this.toolStripLabel2.Visible = false; this.toolStripLabel3.Visible = false; this.toolStripLabel4.Visible = false; this.btAdd.Visible = false;

this.btAmend.Visible = false;

this.btSearch.Visible = false;

}

第五个【会员信息添加】按钮代码如下:

private void btAdd_Click(object sender, EventArgs e){

this.label1.Visible = false;

this.toolStripLabel1.Visible = false;

本文已影响