VB.NET 生成DBF文件

1.关于本文

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

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

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

3.运行结果

命令行结果

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

END

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...