1
我試圖在dbcommand.commandtext中通過case語句添加一個order,但是我看到沒有行被返回。我想爲case語句中的顏色分配優先級。這將幫助我避免創建一個新的表來優先考慮,並重寫很多代碼來映射外鍵。任何輸入都會有幫助。在dbCommand.CommandText中按大小寫排序
這裏的語句: -
Protected Sub AddData()
Dim cn As OleDbConnection = New OleDbConnection(ConfigurationManager.AppSettings("ConnectionString"))
cn.Open()
Dim dbCommand As New OleDbCommand
dbCommand.Connection = cn
dbCommand.CommandText = "SELECT * from tblPosts ORDER BY CASE PriorityLevel WHEN 'Red' then 1 when 'Orange' then 2 ELSE 3 END"
Try
dbCommand.ExecuteNonQuery()
Dim objdatareader As OleDbDataReader = dbCommand.ExecuteReader()
While objdatareader.Read()
Dim PostID As Integer = CInt(objdatareader("ID"))
PopulateImages(PostID, cn)
PopulateCategories(PostID, cn)
rssFeed.AddItem(objdatareader, ImageList, CategoryList)
ImageList.Clear()
CategoryList.Clear()
End While
objdatareader.Close()
Catch myerror As OleDbException
Dim strErr As String = "There was an error updating the database: " & myerror.Message
End
謝謝
我沒有得到任何語法錯誤。我也嘗試在最後刪除PriorityLevel,但它不返回任何行。我試過用'%Red%'替換='Red'等。沒有工作:( – curious123
@PrathibhaAyyappan:然後你的問題是你沒有任何數據在你的表中,直接選擇沒有'order by'並確認你有數據。 – Icarus
我有我的數據如果沒有這個順序,我會返回Red,Orange等作爲select語句的結果 – curious123