我只是想知道If/Else
在 VB.Net 代码中的 SQL 查询中添加语句的最佳方法是什么?
这是我当前的查询(不起作用):
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