0

私の質問を更新しました。しかし、私は配列を持っています

Dim divName(3) 'Fixed size array
divName(0) = "DIV1"
divName(1) = "DIV2"
divName(2) = "DIV3"

SQL クエリ内の配列から 1 つの特定の値 ("DIV1") を適用したい

sql = "SELECT * FROM DivisionNew814 WHERE JMS_UpdateDateTime >= DATEADD(day,-7, GETDATE()) AND  Division ='" & divName (divrec(0)) &"' order by JMS_UpdateDateTime desc" 

動いていない。

「Divrec」は「Division 1」に出力する変数です。SQL クエリ内の配列を使用して、その値を「DIV1」に変更したいと思います。

4

3 に答える 3

1
<%
if divrec = "Division 1" then
  divrec = "Div1"
end if
%>
于 2013-08-18T22:17:49.323 に答える
1

配列値を出力するには、インデックスを使用する必要があります。

Dim divName(3) 'Fixed size array
divName(0) = "DIV1"
divName(1) = "DIV2"
divName(2) = "DIV3"


... AND  Division ='" & divName(0) &"' order by ...

「Division 1」から「DIV1」への変換が必要で、常に「Division X」から「DIVX」への変換が必要な場合は、次のように置き換えることができます。

... AND  Division ='" & Replace(divrec(0), "Division ", "DIV") &"' order by ...
于 2013-08-19T05:34:44.890 に答える
0

必要なのはキーと値のコレクションのように聞こえます。これは、テキスト「Division 1」を「DIV1」に「変換」するものを意味します。このために、Scripting.Dictionary オブジェクトがあります。

Dim divNames
Set divNames = Server.CreateObject("Scripting.Dictionary")
divNames.Add "Division 1", "DIV1"
divNames.Add "Division 2", "DIV2"
divNames.Add "Division 3", "DIV3"

その後:

sql = "SELECT * FROM DivisionNew814 WHERE JMS_UpdateDateTime >= DATEADD(day,-7, GETDATE()) AND  Division ='" & divNames(divrec(0)) &"' order by JMS_UpdateDateTime desc" 

が文字列のみの場合divrecは、次のように変更します。

sql = "SELECT * FROM DivisionNew814 WHERE JMS_UpdateDateTime >= DATEADD(day,-7, GETDATE()) AND  Division ='" & divNames(divrec) &"' order by JMS_UpdateDateTime desc"
于 2013-08-19T14:31:11.340 に答える