2017-11-09 5 views
0

私のasp.netコードをアクセスデータベースに接続するためにoledb接続文字列を使用しています 3つのフィールドを結合することはできません。 - ProductID(NUMBER) ProductCode(TEXT)、ProdDescription(TEXT)MS Access - int列とvarchar列を結合する - ASP.net VB.net

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] 

そして

を試してみました210
(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

私は別の質問で同じエラーを見たが、彼らは私が同じであれば、いくつかの予備のキーワードの問題を持っているように見える、私の予約キーワードが何であるか、どこでそれが私の中にありますコード? ありがとうございます

答えて

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;" 
+0

あまりにも本当に助けてくれました@ gustav – Deepak

関連する問題