1
在調試我的代碼,我發現了一個內部異常其內容爲:索引屬性錯誤
爲了評估索引屬性,該屬性必須是合格和參數必須由用戶顯式提供。
在sql腳本運行平穩返回所有行,但在vb它沒有返回或找到任何行。我已經檢查過主鍵是在表格中定義的。我怎樣才能解決這個問題?我有一個proir查詢返回行,但只要我添加了這個新的查詢內部異常來了....除了querystring我沒有改變任何東西。
這是我做了什麼:
Public Sub BindDeliveredItems()
Proir if statemets....
Else
queryString = "select distinct LS.[Route], LS.[SubRoute], LS.[Truck], Convert(VARCHAR(10), LS.[Date], 121) AS Date, LS.[DriverAssistantContract]" & _
",((del.CT*100)/ todel.TCT) as Score" & _
"from [Warehouse].[dbo].[LoadSheet] LS" & _
"left join (select [Truck],[Date],[Status], count([Status]) CT from [Warehouse].[dbo].[LoadSheet]" & _
"WHERE status='Delivered'" & _
"group by [Truck],[Date],[Status]) Del" & _
"on LS.truck=Del.truck and LS.[Date]=del.[Date]" & _
"left join (select [Truck],[Date], count([Truck]) TCT from [Warehouse].[dbo].[LoadSheet]" & _
"group by [Truck],[Date]) todel" & _
"on LS.truck=toDel.truck and LS.[Date]=todel.[Date]" & _
"WHERE ls.[Date] = '2013-07-03'" & _
"AND ls.[Truck] = 'BX 39 LK GP'"
End If
Dim ds As DataSet = GetData(queryString)
If (ds.Tables.Count > 0) Then
gvDeliveredItems.DataSource = ds
gvDeliveredItems.PageSize = (10)
gvDeliveredItems.AllowPaging = True
gvDeliveredItems.DataBind()
End If
End Sub
Function GetData(ByVal queryString As String) As DataSet
Dim ds As New DataSet()
Try
Dim adapter As New SqlDataAdapter(queryString, SQLCon)
adapter.Fill(ds)
Catch ex As Exception
MessageBox(ex.Message)
End Try
Return ds
End Function
編輯:
第一次我能看到的例外是在這條線
Dim ds As DataSet = GetData(queryString)
而該線路上例外也顯示:
If (ds.Tables.Count > 0) Then
我以前的sql字符串完美無缺地改變了任何東西。我唯一改變的是查詢字符串的時候就開始給我這個例外
你可以顯示異常發生的行嗎?錯誤是使用.NET功能,聽起來不像是一個SQL問題 - 我認爲你的VB語法可能在某處可能...或者它可能是一個SQL問題,因爲沒有數據返回,而你是試圖訪問不存在的索引屬性.. – Charleh