0

我们正在使用 Microsoft Jet OLEDB 提供程序将数据插入旧系统。

该系统要求我们通过创建一个 DBF 文件来插入数据,其格式为:

employee Numeric (10,0),
jobcode Numeric (10,0),
date date

因此,我们正在执行以下操作:

string strConnDbase = @"Provider = Microsoft.Jet.OLEDB.4.0" +
    ";Data Source = " + ruta +
    ";Extended Properties = dBASE IV" +
    ";User ID=Admin;Password=;";

然后,我们运行如下命令:

string sql = "CREATE TABLE 20110112 ( EMPLOYEE Numeric(10,0), JOBCODE Numeric(10,0), DATE Date)";

不幸的是,这个“sql”语句没有运行。IE,名为“日期”的列是关键字,所以我们不能创建表。

我们已经尝试转义(单引号和双引号)列名,但这也不起作用。

我们如何建立一个名为“日期”的列的表?

谢谢!

——安东尼

4

2 回答 2

3

试试方括号:

创建表 20110112(员工数字(10,0),工作代码数字(10,0),日期 [日期])

我手边没有 OLEDB 目标,所以这只是一个猜测,FWIW。

于 2011-01-17T21:52:39.797 回答
0

您不能创建以数字开头的表......而且根据保留字(日期)创建列名是非常糟糕的做法。

只需加上一些东西......即使它只是“表”的“T”。

创建表 T20110112

于 2011-02-08T02:19:37.713 回答