VB.NET 生成DBF文件

前端之家收集整理的这篇文章主要介绍了VB.NET 生成DBF文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_403_2@1.关于本文

本文是一个使用VB.NET建立DBF表文件的示例。

今天写了一个VB.NET程序(本来计划用C#写的,打开VS的时候不小心开错环境了,于是就将错就错了~~~)。程序的目的是生成一个DBF文件文件名为TradingDate.dbf。其中有两列:Id和Jyrq,前者为顺序编号,后者为一年中所有的星期一到星期五的日期,用八位数字表示(如2014年6月20日,写作20140620)。

@H_403_2@2.文件代码

Imports System.Data.OleDb

Module Module1

    Sub Main()

        Dim sConn As String =
            "Provider=Microsoft.Jet.OLEDB.4.0; " + _
            "Data Source=" + System.IO.Directory.GetCurrentDirectory + "; " + _
            "Extended Properties=dBASE IV;"
        Dim conn As OleDbConnection = New OleDbConnection(sConn)

        Try

            conn.Open()
            Dim cmd As OleDbCommand

            '如果已存在 TRADING_DATE.dbf 则直接删除
            If System.IO.File.Exists("TradingDate.dbf") Then
                Console.WriteLine("已存在文件TradingDate.dbf,删除处理")
                System.IO.File.Delete("TradingDate.dbf")
            End If

            '创建新表 TRADING_DATE.dbf
            cmd = New OleDbCommand(
                "CREATE TABLE TradingDate.dbf (Id int,Jyrq char(10))",conn)
            cmd.ExecuteNonQuery()

            Dim counter As Integer = 0
            Dim dt As DateTime = New DateTime(DateTime.Now.Year,1,1)
            Do
                '只向数据表中添加工作日信息
                If dt.DayOfWeek <> System.DayOfWeek.Saturday And
                    dt.DayOfWeek <> System.DayOfWeek.Sunday Then

                    cmd = New OleDbCommand(
                        "INSERT INTO TradingDate.dbf (Id,Jyrq) VALUES (" + _
                        counter.ToString() + "," + _
                        (dt.Year * 10000 + dt.Month * 100 + dt.Day).ToString() + ")",conn)
                    cmd.ExecuteNonQuery()
                    counter += 1

                    Console.Write("条目: ")
                    Console.Write((dt.Year * 10000 + dt.Month * 100 + dt.Day).ToString())
                    Console.WriteLine(" 添加成功")

                End If
                dt = dt.AddDays(1)
            Loop Until dt.Year <> DateTime.Now.Year

        Catch ex As Exception
            Console.WriteLine(ex.Message)
        Finally
            conn.Close()
        End Try

        Console.WriteLine("程序执行完毕!")

        Console.ReadLine()

    End Sub

End Module

@H_403_2@3.运行结果

命令行结果

生成的DBF文件(使用VFP6.0查看)

@H_403_2@END

猜你在找的VB相关文章