我正在使用oledb连接字符串将我的asp.net代码连接到访问数据库
我似乎无法转换合并3个字段 - ProductID
(NUMBER)
ProductCode
(TEXT),ProdDescription
(TEXT)
Dim strQuery As String = "SELECT ProductID, (CAST(ProductID AS TEXT) + ' - '
+ ProductCode + ' - ' + ProdDescription) AS [Prod]
FROM [FG - End Product Codes]
ORDER BY ProductCode;"
我也试过
(CAST(ProductID AS VARCHAR(10)) + ' - ' + ProductCode + ' - ' + ProdDescription) AS [Prod]
和
(CONVERT(ProductID, TEXT)) + ' - ' + ProductCode + ' - ' + ProdDescription) AS [Prod]
和
(CAST(ProductID) AS VARCHAR(10)) + ' - ' + ProductCode + ' - ' + ProdDescription) AS [Prod]
和
(CAST([ProductID] AS TEXT) + ' - ' + [ProductCode] + ' - ' + [ProdDescription]) AS [Prod]
错误消息:System.Data.OleDb.OleDbException: 'IErrorInfo.GetDescription因E_FAIL(0x80004005)而失败。'
错误代码:-2147467259
我在另一个问题中看到了相同的错误,但他们似乎有一些保留关键字问题,如果我的相同,我保留的关键字是什么,我的代码在哪里? 提前谢谢
答案 0 :(得分:2)
那是因为您尝试对使用Access SQL的Access使用T-SQL。所以,试试这个:
Dim strQuery As String = "SELECT ProductID, ProductID & ' - ' &
ProductCode & ' - ' & ProdDescription AS [Prod]
FROM [FG - End Product Codes]
ORDER BY ProductCode;"