簡體   English   中英

VB.NET(SQL)查詢中的是否/其他語句?

[英]If/Else Statements in VB.NET (SQL) Query?

我只是想知道在VB.Net代碼中的SQL查詢中添加If/Else語句的最佳方法是什么?

這是我當前的查詢(無效):

SELECT 
   FIRSTNAME, LASTNAME 
FROM 
   TBL_USERS 
ORDER BY 
   If(SortSelect() Is ""lastname"", LASTNAME, FIRSTNAME) 

提前致謝。

您可以嘗試這樣的事情:

SELECT FIRSTNAME, LASTNAME 
FROM TBL_USERS 
ORDER BY Case when <SortSelect>= 'lastname' then LASTNAME else  FIRSTNAME end

我對此的看法是永遠不要將IF放在SQL語句中。 這使其很難閱讀。 可能是因為它們都在同一條線上。

在您的情況下,只有一個,但是當您遇到許多條件時,幾乎無法閱讀。

您應該像這樣聲明一個字符串

Dim strQuery as string
Dim strOrderBy as string

If(SortSelect() = "lastname") then
   strOrderBy = "Order By lastname"
Else
   strOrderBy = "Order By firstname"
endif


strQuery = "SELECT FIRSTNAME, LASTNAME FROM TBL_USERS " & strOrderBy
Dim sql as string = "SELECT FIRSTNAME, LASTNAME FROM TBL_USERS ORDER BY "
if (SortSelect() = "lastname")
    sql = sql & "lastname"
else
    sql = sql & "firstname"
end if

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM