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.运行结果

命令行结果

195904_5mR8_1425762.png

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

195847_hhbo_1425762.png

END

转载于:https://my.oschina.net/Tsybius2014/blog/282510

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值