1
我正在寫小型VB.Net應用程序,它應該基於從某些外部MDB文件(Access 2007)收集的數據構建報告。計劃這個應用程序將使用參數化SQL查詢來收集數據。這些查詢的參數之一是外部MDB文件的路徑。作爲參數的外部數據庫路徑參數查詢訪問
這裏去示例代碼:
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=C:\Temp\Temp.mdb;")
conn.Open()
Dim cmd As New OleDbCommand()
cmd.Connection = conn
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT * INTO Trend FROM TI IN '?' WHERE TI.Id=?;"
With cmd.Parameters
.Add("@p1", OleDbType.VarChar).Value = "C:\Temp\Source.mdb"
.Add("@p2", OleDbType.Integer).Value = 5
End With
cmd.ExecuteNonQuery()
conn.Close()
看起來簡單,但它沒有工作。啓動後我的應用程序拋出以下異常 - System.Data.OleDb.OleDbException:磁盤或網絡錯誤。
已經花了整整一天的時間讓它無法工作。我做錯了什麼?
檢查文件「C:\ Temp \ Temp.mdb」是否存在,如果存在,則通過本文:http://support.microsoft.com/kb/q251254/ – Chandu 2011-06-10 14:12:34
檢查此鏈接。 http://www.mikesdotnetting.com/Article/26/Parameter-Queries-in-ASP.NET-with-MS-Access – Jack 2011-06-10 14:15:58
是的,看過這篇文章。沒有運氣。它似乎與第一個參數有某種聯繫,因爲當我排除第一個參數並用**「SELECT * INTO TREND FROM TI IN'C:\ Temp \ Source.mdb'替換** CommandText **值時,TI.IdentKp = ?「**它的工作原理像是魅力/ – me9a6yte 2011-06-10 14:17:57