热门文章 | 热门软件| 热门源码 | 热门电影 | 知识库 | 联系我们
软件 源码 教程 影视 健康 招聘
  HTML | JavaScript | ASP | PHP | JSP | NET | VB | VC | VF | Windows | Linux | Mysql | Mssql | Oracle | Struts 
当前位置: 创世纪计算机资源网 -> 文章频道 ->vb 
站内搜索:
在VB6中用 Select 语句检索记录(1)
作者:佚名 来源:不详 整理日期:2006-8-17

  本文向你介绍如何不用借助Access,直接在程序中创建一个数据库,然后从标准的ASCII文本文件中读取数据到数据库中。原文是微软知识库中的一篇文章,但当时是针对VB3写的,所以其中的代码有点过时。例如现在DAO中已没有Table对象,代之以Recordset对象。下面是修改后的代码,在VB6中调试通过。

  首先在工程中添加对Microsoft DAO 3.51 Library引用。

  在窗体中添加三个命令按钮和两个MSFlexGrid.

  按照下表设置和控件的属性:

  控件 属性 值

  Command1 Caption "建立文本文件并显示在网格中"

  Command2 Caption "传输入数据并新建一个数据库"

  Command3 Caption "显示新数据库中的数据"

  Grid1 Cols 5

  Grid1 Rows 35

  Grid2 Cols 5

  Grid2 Rows 35

  将下面的代码添加到窗体的声明部分

  Dim nums(30) As Long

  Dim names(30) As String * 20

  Dim addresses(30) As String * 25

  Dim ss_nums(30) As String * 12

  Const DB_LONG = 4

  Const DB_TEXT = 10

  Const DB_LANG_GENERAL = ";LANGID=0x0809;CP=1252;COUNTRY=0"

  将下面的代码添加到窗体的Load事件中

  Sub Form_Load ()

  Show

  grid1.ColWidth(1) = 1000 For Emp ID

  grid1.ColWidth(2) = 2000 For Emp Name

  grid1.ColWidth(3) = 3000 For Emp Addr

  grid1.ColWidth(4) = 2000 For Emp SSN

  grid1.Col = 1

  grid1.Row = 0

  grid1.Text = "Emp ID" Header for Emp ID from text file

  grid1.Col = 2

  grid1.Row = 0

  grid1.Text = "Emp Name" Header for Emp Name from text file

  grid1.Col = 3

  grid1.Row = 0

  grid1.Text = "Emp Addr" Header for Emp Addr from text file

  grid1.Col = 4

  grid1.Row = 0

  grid1.Text = "Emp SSN" Header for Emp SSN from text file

  grid2.ColWidth(1) = 1000 For Emp ID

  grid2.ColWidth(2) = 2000 For Emp Name

  grid2.ColWidth(3) = 3000 For Emp Addr

  grid2.ColWidth(4) = 2000 For Emp SSN

  grid2.Col = 1

  grid2.Row = 0

  grid2.Text = "Employee ID" Header for Emp ID from DB

  grid2.Col = 2

  grid2.Row = 0

  grid2.Text = "Employee Name" Header for Emp Name from DB

  grid2.Col = 3

  grid2.Row = 0

  grid2.Text = "Employee Addr" Header for Emp ID from DB

  grid2.Col = 4

  grid2.Row = 0

  grid2.Text = "Employee SSN" Header for Emp Name from DB

  End Sub

  (未完)

  在Command1_Click事件中加入下面的代码

  Sub Command1_Click ()

  For i% = 1 To 30

  nums(i%) = i%

  names(i%) = "John Doe # " + Str$(i%)

  addresses(i%) = Str$(i%) + " Mocking Bird Lane"

  If i% < 9 Then

  * Enter the following four lines as one, single line:

  ss_nums(i%) = Trim$(Str$(i%) + Trim$(Str$(i%))+ Trim$(Str$(i%)) + "-" + Trim$(Str$(i% + 1))+ Trim$(Str$(i% + 1)) + "-" + Trim$(Str$(i%))

  + Trim$(Str$(i%)) + Trim$(Str$(i%)) + Trim$(Str$(i%)))

  Else

  * Enter the following two lines as one, single line:

  ss_nums(i%) = Trim$(Trim$(Str$(999)) + "-" + Trim$(Str$(88))+ "-" + Trim$(Str$(7777)))

  End If

  Next i%

  Open "Testdata.DAT" For Output As #1

  For j% = 1 To 30

  Print #1, nums(j%)

  Print #1, names(j%)

  Print #1, addresses(j%)

  Print #1, ss_nums(j%)

  Next j%

  Close #1

  For i% = 1 To 30 Display results from text file

  grid1.Col = 1

  grid1.Row = i%

  grid1.Text = nums(i%) Load Emp IDs

  grid1.Col = 2

  grid1.Row = i%

  grid1.Text = names(i%) Load Emp Names

  grid1.Col = 3

  grid1.Row = i%

  grid1.Text = addresses(i%) Load Emp Addrs

  grid1.Col = 4

  grid1.Row = i%

  grid1.Text = ss_nums(i%) Load Emp SSNs

  Next i%

  End Sub

[1]  [2]  
相关文章