VB课程设计论文
- 格式:doc
- 大小:491.00 KB
- 文档页数:13
课程设计
学 号 ----------------------
班 级 -----------------
姓 名
指导教师
年 月 日
第 2 页 共 13 页 课程设计任务书
学院:xxxxxxxxxx 专业:xxxx 班级:xxxxxxx
学号:xxxxxxxxxxxxx 题目:数据库数据的导入与导出
一、课程设计时间
2012年3月5日~17日(第1、2周),共计2周。
二、课程设计内容
将一个文本文件(file01_数据的导入.txt)中的数据导入到Access的某个数据表中,并显示相应的内容;再将数据库的某一个表中的数据导出到一个文本文件中,并显示相应的内容。要求使用CommonDialog控件和DataGrid控件。
导入提示: ①依据文本文件内容,先在Access数据库中创建出相应的表。②一方面,用ADO数据控件打开表;另一方面用文件访问技术读取给定的文本文件中的内容,并添加到数据库表中。
三、课程设计要求
程序质量:
贯彻事件驱动的程序设计思想。
用户界面友好,修饰适宜,功能明确,操作方便;适当增加1~2项其它功能。
代码应规范(适当缩进、必要的注释),以增强程序的可读性。
课程设计说明书:
课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:________ 学生签名:________
五、成绩
第 3 页 共 13 页
目 录
一、需求分析 ................................................................... 4
二、设计分析 ................................................................... 5
三、技术要点 ................................................................... 6
四、总结 ......................................................................... 10
五、完整的源程序 ......................................................... 11
六、参考文献 ................................................................. 12
第 4 页 共 13 页
一、需求分析
将一个文本文件(file01_数据的导入.txt)中的数据导入到Access的数据表中,并显示相应的内容;再将数据库Access表中的数据导出到一个文本文件中,并显示相应的内容。
要求:①使用CommonDialog控件
②使用DataGrid控件。
分析:导入:①依据文本文件内容,先在Access数据库中创建出相应的表;
②一方面,用ADO数据控件打开表;
③另一方面用文件访问技术读取给定的文本文件中的内容,并添加到数据库表中。
导出:用SQL语句,将数据库的每个字段的记录读取出来,依次写入文本文档中。
第 5 页 共 13 页
二、设计分析
①基本原理:用SQL语句添加数据和读取数据。
②总体设计:
导入:
导出:
图1 总体设计
SQL语言处理 数据库 ADO技术连接
保存文件 数据库 SQL语言处理
第 6 页 共 13 页 ③详细设计:
图2 详细设计
三、技术要点
①建立与数据库的连接代码:
Dim cn As ADODB.Connection '定义数据库的连接
Private Sub Form_Load()
Set cn = New ADODB.Connection '建立新的数据库连接
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=biao.mdb;Persist Security Info=False" '设置连接对象的“连接字符串”属性
cn.Open '打开文件
End Sub
②读取文本文档: 开始
读取数据
写入数据
保存 导入表格 读取文件 建立数据表
第 7 页 共 13 页 Dim number$, name$, price$, store$
Dim sqlstr$
Open "file01_数据的导入.txt" For Input As #1 '打开文件读取数据
Do While Not EOF(1)
Input #1, number, name, price, store '将文件内容赋予变量
sqlstr = "insert into 库存 values('" & Trim(number) & "','" &
Trim(name) & "','" & Trim(price) & "','" & Trim(store) & "')" '用SQL语句将数据插入到数据库
cn.Execute (sqlstr) '执行SQL语句
Loop
Close #1
③用SQL语句读取数据库并导出:
Open CommonDialog1.FileName & ".txt" For Output As #1 '打开文件写入数据
For n = 0 To cnn.Fields.Count - 1
conct = conct & cnn.Fields(n).name & " " '通过循环将每个字段的名字串联起来
Next
Print #1, conct '写出每个字段名
cnn.MoveFirst '移动到第一条记录
Do While Not cnn.EOF '循环读取记录
conct = "" '清空连接字符的变量
For n = 0 To cnn.Fields.Count - 1
conct = conct & cnn.Fields(n) & "," '通过循环将每条记录的不同字段连在一起
Next
cnn.MoveNext '移动到下一条记录
Print #1, conct '写出每条记录的内容
Loop
第 8 页 共 13 页
截图:
Access表格:
窗体设计:
运行中的窗体:
第 9 页 共 13 页
导入后的表格:
导出:
第 10 页 共 13 页
四、总结
本次我的VB课程设计的题目是数据库数据的导入和导出。可以直接应用ADO控件建立与数据库的链接,使用SQL语句可以直接对数据库进行更改。刚开始时,一点头绪也没有。在查看了教材以及其他类书籍后,有了些头绪。在编辑数据的导入的过程中,在执行cnn.Execute(sqlstr)时,总是出错。将数据库的建立更改之后,程序可以运行。剩下的部分在同学的帮助下以及参考了谢书籍后,终于将程序编完了。在设计的过程中虽然遇到了诸多困难,但最终的成功很有成就感。此次课设让我体会到VB的重要性以及它存在的意义。
第 11 页 共 13 页
五、完整的源程序
Dim cn As ADODB.Connection '定义数据库的连接
Private Sub Command1_Click()
Dim number$, name$, price$, store$
Dim sqlstr$
Open "file01_数据的导入.txt" For Input As #1 '打开文件读取数据
Do While Not EOF(1)
Input #1, number, name, price, store '将文件内容赋予变量
sqlstr = "insert into 库存 values('" & Trim(number) & "','" &
Trim(name) & "','" & Trim(price) & "','" & Trim(store) & "')" '用SQL语句将数据插入到数据库
cn.Execute (sqlstr) '执行SQL语句
Loop
Close #1
MsgBox "导入完毕!"
Set DataGrid1.DataSource = Adodc1 '显示数据库内容
Adodc1.Refresh
End Sub
Private Sub Command2_Click()
Set cnn = New ADODB.Recordset '定义记录集
Dim sqlstr$, conct$ '定义连接字符串和连接字符的变量
sqlstr = "select * from 库存" '查询数据库的所有内容
cnn.Open sqlstr, cn, 1, 3 '执行SQL语句
If cnn.EOF Then MsgBox "数据库没有记录,请先进行导入": Exit
Sub
CommonDialog1.ShowSave '打开另存对话框
If CommonDialog1.FileName = "" Then Exit Sub
Open CommonDialog1.FileName & ".txt" For Output As #1 '打开文件写入数据
For n = 0 To cnn.Fields.Count - 1
conct = conct & cnn.Fields(n).name & " " '通过循