我正在 VB.Net 中運行 Access 更新查詢。
dbCustSpec_ADO.Execute("table_upt")
除了以下“更新到”陳述句外,I 運行良好
[table].[field1] & [table].[field2]
以下作業正常
[table].[field1]
以下也是
[table].[field2]
只有當 VB.Net 拋出錯誤時,我才將兩個欄位連接起來:
System.Runtime.InteropServices.COMException: 'Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.'
順便說一句:在 Access 中呼叫查詢時,串聯作業正常。
我的問題是:如何連接兩個欄位以使其在從 VB.net 呼叫時運行
uj5u.com熱心網友回復:
不清楚,您在這里使用 .net oleDB 提供程式嗎?
或者您正在創建 Access 資料庫引擎的實體?
您最好使用 oleDB,例如:
Imports System.Data.OleDb
然后您要更新的代碼如下所示:
Using conn As New OleDbConnection(My.Settings.TESTAce)
Dim strSQL As String = "UPDATE tblHotels SET FullName = FirstName ', ' LastName"
Using cmdSQL As New OleDbCommand(strSQL, conn)
conn.Open()
cmdSQL.ExecuteNonQuery()
End Using
End Using
如果您想在 Access 中運行“現有”更新查詢?它們被視為存盤程序。假設我們在 Access 中保存了 upate 查詢,稱為
qryFirstLast
然后上面運行該查詢的代碼將是:
Using conn As New OleDbConnection(My.Settings.TESTAce)
Dim strSQL As String = "qryFirstLast"
Using cmdSQL As New OleDbCommand(strSQL, conn)
conn.Open()
cmdSQL.CommandType = CommandType.StoredProcedure
cmdSQL.ExecuteNonQuery()
End Using
End Using
請注意我們如何設定命令型別 = StoredProcedure。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/338096.html
