会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 编程心得绝招 > 经验泛谈 > 正文

从Access到Asp.net(二)

时间:2006-08-21 11:04 来源:http://bbs.office-cn.net/ 作者:情比金坚… 阅读:

【第二章:数据库的建立】

【建立一个数据源】

新建一个数据库,取名叫:mini_shop.mdb 然后再c盘根目录下建立一个文件夹,取名minishop.下面我们该去菜场买菜了:到网上下载一些图片下来,这是你的商品图片,调试的时候需要有数据才行啊。把它们保存在myshop\images的文件夹里。

为方便大家学习,我把设计规划放到这里,有打印机的朋友,最好把设计规划打印一下,以便随时备查,我英文不好,所以自己取的英文字段名称常会忘记,有啦手册就方便多了。


点击浏览该文件

图片文件夹我也放在这里,分成了大图和小图

点击浏览该文件

根据数据结构图的要求建立一个数据表


建立tab_pkinds 表,在这里凡是表我们都以tab为开头,表里只有一个字段:pkinds,一个自动编号字段,大家在设计表的时候,自动编号字段无论有用与否,都应该保留。


建立tab_pinfo 表:该表的设计视图如下:这里比较特殊的是pkind字段,他的格式是数字,其实是和tab_pkinds 表的id做了绑定,用一个组合框来显示,这是罗斯文的典型示例。

建立以下几个表:
Tab_salerescord: 销售记录表,Tab_salelist: 订单表,

有两个用户表,一个是系统用户的,一个是顾客的

好了,全部表已经建立完成了,共六个,在tab_pkinds,tab_pinfo,tab_idmininfo,tab_userinfo这四个表中都手工输入3条以上的数据,整个数据库看起来就像这个样子:(你的跟我的一样吗?)

点击浏览该文件

然后以独占方式打开数据库,设定数据库密码。我的密码为123

【链接数据建立后台】

建立一个叫  后台.mdb  的数据库,打开,从 文件----获取外部数据-----链接表----找到C\mini_shop.mdb-----输入密码-----点击全选----点击确定

【商品类别管理的设计】

先看一下我们要达到的效果:这个效果应该是事先用一张草稿纸画出来的,然后再考虑怎样用设计实现

我们可以逐条的修改和删除,点击添加就添加一条记录。

这其实有一个经常被提及到的问题,如何实现点击某个按钮,来实现保存记录的的功能,否则视为放弃。这里引入了一个中间表的概念。就是看到的数据和操作的数据不是同一个表,这里绕过了access自动保存的功能。我们用ado操作数据表tab_pkinds  而显示时通过tmp_pkinds 来实现。


我们通过复制tab_pkinds ,然后粘贴得到本地表tmp_pkinds,

用向导生成chindfrm_pkinds_mat,如图所示:然后再主体添加两个按钮“修改”,“删除”,在窗体页脚添加文本框和一个按钮:

我们需要两个查询来操作中间表tmp_pkinds,一个查询用于清空中间表,一个查询用于加载中间表:分别是删除查询kindsDELETE tmp_Pinfo.*FROM tmp_Pinfo;

追加查询:Qur_addpkinds:
INSERT INTO tmp_pkinds ( id, pkinds )
SELECT tab_pkinds.id, tab_pkinds.pkinds
FROM tab_pkinds
ORDER BY tab_pkinds.id;


 

vba中我们建立 一个过程,用来连续执行这两个查询:

'生成显示数据
Private Sub Record_show()
    DoCmd.OpenQuery "qur_delpkinds"
    DoCmd.OpenQuery "qur_addpkinds"
End Sub

dao对链接表进行操作:

Private Sub Command4_Click()
'保存修改信息
Dim d As Recordset
Dim sqlstr As String
    sqlstr = "select * FROM tab_Pkinds WHERE id=" & Me![id]
    Set d = CurrentDb.OpenRecordset(sqlstr)
    d.Edit
    d(1) = Me.pkinds
    d.Update
End Sub

Private Sub Command5_Click()
'删除该条记录
Dim sqlstr As String
    sqlstr = "DELETE * FROM tab_Pkinds WHERE id=" & Me![id]
    DoCmd.RunSQL (sqlstr)
    
    Record_show
Me.Requery
End Sub

Private Sub Command8_Click()
'添加商品类别
Dim d As Recordset
    Set d = CurrentDb.OpenRecordset("tab_pkinds")
    d.AddNew
    d(1) = Text7
    d.Update
    
    Me.Text7 = Null
    
    Record_show
Me.Requery
End Sub

【商品信息管理设计】


 

商品信息管理的设计原理和种类管理的一样,这里不再赘述。主要是编辑按钮的代码:

Private Sub editpinfo_Click()
'保存修改信息
Dim d As Recordset
Dim sqlstr As String
    sqlstr = "select * FROM tab_Pinfo WHERE id=" & Me![id]
    Set d = CurrentDb.OpenRecordset(sqlstr)
        d.Edit
        d(1) = Me.pname
        d(2) = Me.pkind
        d(3) = Me.price
        d(4) = Me.lprice
        d(5) = Me.pcount
        d(6) = Me.pimg
        d(7) = Me.pmsg
        d.Update
End Sub

Private Sub Form_Load()
    DoCmd.OpenQuery "qur_delpinfo"
    DoCmd.OpenQuery "qur_addpinfo"
    Me.Requery
End Sub


【添加新商品的设计】

代码:添加新商品

Private Sub Command17_Click()
    If IsNull(Me.pname) Then
        MsgBox "请填写商品名称"
        Exit Sub
    End If
    If IsNull(Me.pkind) Then
        MsgBox "请填写商品类别"
        Exit Sub
    End If
    If IsNull(Me.price) Then
        MsgBox "请填写商品价格"
        Exit Sub
    End If
DoCmd.GoToRecord , , acNewRec

End Sub


 

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: