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 & " " '通过循