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 ステートメントに決して入れないことです。読みづらくなります。おそらく、すべてが同じライン上にあるためです。
あなたの場合は 1 つしかありませんが、多くの条件がある場合、ほとんど読み取ることができなくなります。
このような条件の文字列を宣言する必要があります
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