使用C#向Paradox表插入查询时出现问题

Bjo*_*son 7 c# sql paradox

我有Paradox 5.x表我需要连接到以便选择和更新.我正在使用OLEDBConnection.

从表中选择我没有问题.当我尝试插入表格时,我遇到了一个问题,当我输入硬编码字段namesi有一个错误:INSERT INTO语句包含以下未知字段名称:...所以我使用OleDbDataReader.GetName(...)来获取字段名.现在我使用从表中重新获得的字段名称,以便插入到表中,我仍然得到相同的错误.

我认为问题在于字段名称:'Truck#1 Serial Number'表名:'Vehicles'

我尝试使用[],."",.[]和.[""].

我已经了解了Borland引擎的需求,但我不确定这是不是问题.先谢谢.

- =诺姆= -

ps我无法更改表的名称,因为我需要连接一个castumer DB.

我添加了我使用的C#代码:

private static string createInsertQueryVehicle(string i_VehicleNumber, string i_VehicleMFG, string i_Truck1SerialNo, string i_Truck2SerialNo, string i_Truck3SerialNo)
        {
            string tryout = string.Format("INSERT INTO {0} ([{6}], [{7}], [{8}], [{9}], [{10}]) VALUES(RIGHT('{1}',10),'{2}','{3}','{4}','{5}')",
                TableName, Vnum, Vinfo, T1Serial, T2Serial, T3Serial, VnumFieldName, VinfoFieldName, T1SerialFieldName
                T2SerialFieldName,T3SerialFieldName);
            return tryout;
        }
Run Code Online (Sandbox Code Playgroud)

试用结束时:

INSERT INTO Vehicles ([Vehicle Number], [Vehicle Mfg], [Truck #1 Serial Number], [Truck #2 Serial Number], [Truck #3 Serial Number]) VALUES(RIGHT('000000010001525',10),'?????? ???','?40011_1','?40011_2','')
Run Code Online (Sandbox Code Playgroud)

编辑:只是想在最后添加我的解决方案:最后,我可以获得的最佳解决方案是使用访问作为连接点使用链接tablse到paradox表,最后处理它作为一个加入DB .....希望它可以帮助某人.

Wil*_*ler 0

当字段或表名称中包含特殊字符时,您需要使用带引号的标识符。双引号 ( ") 应该是您要查找的内容。

此外,我确实相信需要 Borland 数据库引擎才能与 Paradox 等 Borland 数据库一起工作。至少,这是我一直被告知的,尽管我从未经历过这样的架构,因为我在使用 Paradox 时使用了 Delphi。