Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 要在ASP中创建变量以更改值_Sql_Asp Classic - Fatal编程技术网

Sql 要在ASP中创建变量以更改值

Sql 要在ASP中创建变量以更改值,sql,asp-classic,Sql,Asp Classic,刚刚更新了我的问题。但我有一个数组 Dim divName(3) 'Fixed size array divName(0) = "DIV1" divName(1) = "DIV2" divName(2) = "DIV3" 我想在SQL查询中应用数组中的一个特定值(“DIV1”) sql = "SELECT * FROM DivisionNew814 WHERE JMS_UpdateDateTime >= DATEADD(day,-7, GETDATE()) AND Division =

刚刚更新了我的问题。但我有一个数组

Dim divName(3) 'Fixed size array
divName(0) = "DIV1"
divName(1) = "DIV2"
divName(2) = "DIV3"
我想在SQL查询中应用数组中的一个特定值(“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”


<%
if divrec = "Division 1" then
  divrec = "Div1"
end if
%>

要输出数组值,需要使用索引:

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 ...

听起来您需要的是一个键值集合,意思是将文本“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"

这是非常有用的。我也能用这个。谢谢