下面是一段用网格显示FoxPro数据库的程序。
以下为引用的内容:
Sub DBLoad( )Dim Db1 As database, Ds1 As Dynaset,Td As TableDefs,Fld As FieldsDim Fname,Tmp,Path ToTalNum As String,I,J,Pos1 As IntegerDim MyNum ’定义一个变体型数据 CMD1.Filter = "FoxPro数据库文件(*.DBF)|*.DBF|所有文件|*.*"CMD1.DialogTitle = "调入Ms FoxPro数据库文件"CMD1.FilterIndex = 1CMD1.Action = 1Fname$ = CMD1.FilenamePos1% = GetPos( Fname$ )Path$ = Left$( Fname$, Pos1% )Tmp$ = Right$( Fname$, Len(Fname$)-Pos1)Fn$ = Left$( Tmp$, Instr( 1,Tmp$,“.”) - 1 )Set Db1 = OpenDatabase( Path$, True, False, "FoxPro 2.5;" ) 中国站长.站 Set Ds1 = Db1.CreateDynaset( Fn$ )If Ds1.EOF And Ds1.BOF Then '数据库表内无记录则退出TotalNum = 0MsgBox "此数据表为空表!"Exit SubElse '显示数据库表内的实际记录数Ds1.MoveLastTotalNum = Ds1.RecordCountGrid1.Rows = TotalNum 1 ’置网格的实际行数Total.Caption = Str$(TotalNum)End If'置网格的实际列数并置每列的宽度Set Td = Db1.TableDefsSet Fld = Td( Fn$ ).FieldsGrid1.Cols = Fld.Count 1Grid1.ColWidth(0) = 600For I = 1 To Fld.CountGrid1.ColWidth(I) = 1500Next I'在网格的第一行内填入字段名Grid1.Row = 0, Grid1.Col = 0Grid1.Text = "序号"For I = 1 To Fld.CountGrid1.Col = IGrid1.Text = Fld(I - 1).NameNext I'在网格中填入相应的数据Ds1.MoveFirstI = 1Do While Not Ds1.EOFGrid1.RowHeight(I) = 300Grid1.Row = IGrid1.Col = 0Grid1.Text = IFor J = 1 To Fld.CountGrid1.Col = JMyNum = Ds1.Fields(J - 1).Value Www^^com '对记录的数据类型进行判断后做相应的处理If IsNumeric( MyNum ) Or IsDate( MyNum ) ThenGrid1.Text = Str$( Ds1.Fields(J - 1).Value )Else If VarType( MyNum ) = 8 ThenGrid1.Text = Ds1.Fields(J - 1).ValueElse If VarType( MyNum ) = 0 Or VarType( MyNum ) = 1 ThenGrid1.Text = " "End IfOn Error Resume NextNext JDs1.MoveNextI = I 1LoopDs1.CloseDb1.CloseExit Sub 中国站长.站
最后应记住,在VB的数据库应用程序运行之前,一定要在AUTOEXEC.BAT文件中加入一句SHARE.EXE /L:500。 Www~~com
以上所有程序均在Pentium/166机、中文Windows95下用VB4调试通过。 Www..com
四、结束语 中国站.长.站
对非Access数据库的兼容是VB数据库编程中不可分割的重要部分。因而熟练掌握使用DAO方法对非ACCESS数据库的编程是极为重要的。并且,一定编程技巧的应用也有助于弥补VB对外来数据库支持的不足。 中国站.长站
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




