如何使用Jet.OLEDB.4.0提供程序连接两个字符串

时间:2009-05-19 06:23:50

标签: xml csv oledb

我将查询传递给运行该查询的内部应用程序并返回结果,连接是CSV文件,我正在连接Provider = Microsoft.Jet.OLEDB.4.0

我想加入一个列中的字符串,但是我收到了一个错误。

这可以做到,有人知道怎么做吗?

我在做什么的例子:

select 
 PurchaseOrderNo, 
 PurchaseOrderDate, 
 Description, 
 Quantity,
 ContractName + 'delimiter' + ContractNo as LinePrimaryKeys
from [POImport baseline.csv]

错误是: - 错误 - 提供程序无法确定Double值。例如,刚刚创建了行,Double列的默认值不可用,并且消费者尚未设置新的Double值。

从其他阅读中看,并非我加入的两个值都被识别为字符串。

例如替换     PurchaseOrderNo +'delimiter'+ ContractNo作为LinePrimaryKeys 同     PurchaseOrderNo +'delimiter'+ PurchaseOrderNo as LinePrimaryKeys

停止错误。那么现在我如何投射到字符串?

这不起作用。 ContractName +'cn'+ CAST(ContractName as nvarchar(50))为LinePrimaryKeys

1 个答案:

答案 0 :(得分:4)

您必须使用& 而不是 +

& 执行字符串连接, + 执行(数字)添加。使用& 会自动将所有操作数强制转换为字符串。

select 
 PurchaseOrderNo, 
 PurchaseOrderDate, 
 Description, 
 Quantity,
 PurchaseOrderNo & 'delimiter' & ContractNo as LinePrimaryKeys
from [POImport baseline.csv]
相关问题