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"
这是非常有用的。我也能用这个。谢谢