篇一: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;