mdb数据库[编辑]
一、MDB协议介绍:
MDB是MDB/ ICP协议(Multi-Drop Bus/Internal Communication Protocol)的简称,它是欧洲售货机制造者协会制定的一套用于协调自动售货系统的主控制器(VMC)与多个外设之间通信的协议。标准首先是由Coinco在美国可口可乐公司的指定下开发的。这个标准于1993年被NAMA协会采用;经过一个专门的工作组修订后,于1994年被EVMMA采用。第二阶段的非现金交易标准由Debitek代表NAMA开发,并于1994年被NAMA采用;EVMMA加入了一些兼容的指令后于1994年采用。MDB接口实际上是工作于9600波特率的主从型串行总线接口,所用外围设备(例如投币器、纸币器、读卡器等)均为主控制器(售货机控制器-VMC)的从机。所有外围设备与VMC之间的通信方式都一致。
http://wenku.baidu.com/view/dc8a09365a8102d276a22ff7.html?re=view
二、创建MDB数据库文件的方法及部分程序样例:
1.建立数据表
CREATE TABLE 数据表名 (字段名1 数据类型(长度), 字段名2 数据类型(长度),……)
举例:create table student(xh text(9), xm text(8) , cj single(4), nl integer(2))
建立含有xh、xm、cj、nl 4个字段的student表
2.添加字段
ALTER TABLE 数据表名 ADD COLUMN 字段名 数据类型(长度)
举例:alter table student add column xb text(2) '在学生表中添加性别字段
3.删除字段
ALTER TABLE 数据表名 DROP COLUMN 字段名
举例: alter table student drop column nl '将学生表中的年龄字段删除
4.数据查询
SELECT 字段名表 FROM 子句 WHERE 子句 GROUP BY 子句HAVING 子句 ORDER BY 子句 INTO 子句
举例:select xh, xm from student where xb="男" order by xh
从学生表中查询性别为男的学生,显示其学号和姓名并使结果按学号升序排列。
5.添加记录
INSERT INTO 数据表名(字段名1,字段名2……) VALUES(数据1,数据2……)
举例:insert into student (xh, xm, xb) values("015200101", "王小二", "男")
6.删除记录
DELETE FROM 数据表名 WHERE 条件表达式
举例:delete from student where xb="男"
7.更新记录
UPDATE 数据表名 SET 新数据值 WHERE 条件表达式
举例:update student set cj=cj+5 where xb="女"
1) ------------------------------------------------------------------------------------------------
要能正确引用ADO数据对象,应在VB 6.0集成开发环境中选择“工程”菜单,再点击“引用”菜单项,在弹出的“引用”对话框中选中“Microsoft ActiveX Data Objects 2.1 Library”选项来添加ADO数据对象类型库。
2)-------------------------------------------------------------------------------------------
① DAO数据对象
要能正确引用DAO数据对象来建立与数据库的连接,应先在VB集成开发环境中选择“工程”菜单,再点击“引用”菜单项,在弹出的“引用”对话框选择“Microsoft DAO 3.51 Object Library”选项来添加DAO数据对象类型库。
3)------------------------------------------------------------------------------------------------
'RS.AbsolutePosition'当前游标
'RS.RecordCount '表记录数
'RS.Fields.Count '表字段多少
'RS.Fields(i).name '字段名
8.打开加密的数据庫
------------------------------------------------------------------------
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "/Sjk.mdb;Jet OLEDB:Database password=269796455;"
Set RS = New ADODB.Recordset
RS.Open "select * from 单词_新概念英语 where 课目='1-001' order by 序", Conn, 1, 1
9.添加记录到数据庫
------------------------------------------------------------------------
RS.AddNew
RS.Fields!用户名 = Combo1.Text
RS.Fields!密码 = Text2.Text
RS.Update
10.修改数据库记录
------------------------------------------------------------------------
RS.Fields!用户名 = Combo1.Text
RS.Fields!密码 = Text2.Text
RS.Update
11.动态加载VB控件(不用在原窗体预先添加)
------------------------------------------------------------------------
Set text2 = Controls.Add("vb.textbox", "text2", P1(2))
text2.Visible = True
12.添加表字段名到下拉列表中
------------------------------------------------------------------------
For I = 1 To RS.Fields.Count
Form1.P1_2_Combo1(3).AddItem RS.Fields(I - 1).Name
Next I
13.打开10条记录
RS.Open "select top 10 * from 单词_新概念英语 order by 序", Conn, 1, 2
14.关于rs.open sql,conn,1,1的问题
后面带1,1和不带1,1
带参数和不带参数有何区别吗。
不带1,1会出错
前一个1是游标类型,第二个是锁定类型,在ADODB.inc(好像是这个文件名)定义了一堆常量,其中就有这两个,但是必须要包含那个文件才可以使用,所以就都使用数值了
第一个:
1,前向游标:即读取数据记录只能从前向后读,不能返回,并且不能反映读取同时其它用户对数据库的更新
2,静态游标,可向前和向后,但是不能反映其它用户的更新
3,动态游标,功能最强,当然也最耗资源
第二个
1,只读锁定,只能读不可以写的锁定数数据库
2,悲观锁定,从打开数据库开始锁定数据库,即锁定时其它用户无法更新数据库
3,乐观锁定,只在更新的瞬间锁定数据库
4,批量乐观锁定,在更新完一批以后提交到数据库时才锁定,如果有很多用户同时在更新数据库,则有可能更新到同一条记录
悲观锁定最不容易发生冲突,但是锁定时间太长,各有各的用途,实际应用时选择
1,1 好像是只读
1,2 好像是擦入
1,3 好像是删除
rs.open sql,conn,1,1
前一个1是游标类型,表明是键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。
后一个1是锁定类型,说明是只读类型。
15.复制表
Conn.Execute "Select * Into 单词_自定义_sgzhxfsg2 from 单词_自定义_sgzhxfsg"
只复制表结构
Conn.Execute "Select * Into 单词_自定义_sgzhxfsg2 from 单词_自定义_sgzhxfsg where 1=0"
16.
Private Sub Command3_Click() '"F:\ME\VB\ShiYan\试验\sjk.xls有多少列
Set exceladd = CreateObject("excel.application")
Set excelbook = exceladd.workbooks.Open("F:\ME\VB\ShiYan\试验\sjk.xls")
Set excelsheet = excelbook.worksheets(1)
'MsgBox sheet1.usedrange.cells.Columns.Count
MsgBox excelsheet.usedrange.cells.Columns.Count
MsgBox excelsheet.usedrange.cells.rows.Count
End Sub
17.
Private Sub Command2_Click() '读F:\ME\VB\ShiYan\试验\sjk.xls内容
Set exceladd = CreateObject("excel.application")
Set excelbook = exceladd.workbooks.Open("F:\ME\VB\ShiYan\试验\sjk.xls")
Set excelsheet = excelbook.worksheets(1)
MsgBox excelsheet.range("A2").Value
End Sub
18.表名
Set RS0 = Conn.OpenSchema(20)
Do Until RS0.EOF
A(1) = A(1) & RS0("table_name") & FC
RS0.MoveNext
Loop
F1.Text1.Text = A(1)
MSysAccessObjects
MSysAccessXML
MSysACEs
MSysObjects
MSysQueries
MSysRelationships
表控件
开支
日记
日志
杀虫
设置
施肥
收入
系统控件
19.字段内容长度
MsgBox RS0.Fields(0).ActualSize
20.字段长度
MsgBox RS0.Fields(Z(1)).NumericScal
网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。