MS Access-将varchar列与int列组合-ASP.net VB.net

MS Access-将varchar列与int列组合-ASP.net VB.net,asp.net,vb.net,ms-access,type-conversion,alias,Asp.net,Vb.net,Ms Access,Type Conversion,Alias,我正在使用oledb连接字符串将asp.net代码连接到access db 我似乎无法将这3个字段组合起来-ProductID(数字) ProductCode(文本)、ProdDescription(文本) 我也试过了 (CAST(ProductID AS VARCHAR(10)) + ' - ' + ProductCode + ' - ' + ProdDescription) AS [Prod] 及 及 及 错误消息:System.Data.OleDb.OLEDBEException: '

我正在使用oledb连接字符串将asp.net代码连接到access db 我似乎无法将这3个字段组合起来-
ProductID
(数字)
ProductCode
(文本)、
ProdDescription
(文本)

我也试过了

(CAST(ProductID AS VARCHAR(10)) + ' - ' + ProductCode + ' - ' + ProdDescription) AS [Prod] 

错误消息:System.Data.OleDb.OLEDBEException: 'IErrorInfo.GetDescription失败,E_失败(0x80004005)。'

错误代码:-2147467259

我在另一个问题中看到了相同的错误,但他们的问题似乎有一些保留关键字问题,如果我的是相同的,我的保留关键字是什么,它在我的代码中的什么位置?
提前感谢

这是因为您试图对使用Access SQL的Access使用T-SQL。那么,试试这个:

Dim strQuery As String = "SELECT ProductID, ProductID & ' - ' & 
                  ProductCode & ' - ' & ProdDescription AS [Prod] 
                  FROM [FG - End Product Codes] 
                  ORDER BY ProductCode;"

这是因为您试图对使用Access SQL的Access使用T-SQL。那么,试试这个:

Dim strQuery As String = "SELECT ProductID, ProductID & ' - ' & 
                  ProductCode & ' - ' & ProdDescription AS [Prod] 
                  FROM [FG - End Product Codes] 
                  ORDER BY ProductCode;"
(CAST(ProductID) AS VARCHAR(10)) + ' - ' + ProductCode + ' - ' + ProdDescription) AS [Prod]
(CAST([ProductID] AS TEXT) + ' - ' + [ProductCode] + ' - ' + [ProdDescription]) AS [Prod]
Dim strQuery As String = "SELECT ProductID, ProductID & ' - ' & 
                  ProductCode & ' - ' & ProdDescription AS [Prod] 
                  FROM [FG - End Product Codes] 
                  ORDER BY ProductCode;"