经典多选列表框 SQL 查询
Classic Multiselect listbox SQL query
已解决!
解决方案:
在下面的代码中对其进行编辑将是一个简洁的解决方案。
strCriteria = "" & replace(tagname,", ","','") & ""
原题:
我有一个列表框,其中填充了 SQL Server Express table 列的内容。列表框所在的 HTML 表单将生成 HTML table 报告。
我的经验是列表框将多个选定值存储为 VALUE1, VALUE2, VALUE3
,而 SQL 查询需要这些值作为 'VALUE1', 'VALUE2', 'VALUE3'
- 使用 gnyphs。因此,它将只选择一个值,因为查询会说 'VALUE1, VALUE2, VALUE3'
- gnyphs around the whole。正如您在下面的代码中看到的那样,我已经尝试使用替换,但是由于这不起作用,我不确定我是否正确地处理了这个问题。
我做了很多谷歌搜索并找到了很多有用的文章,尽管它们是针对 SQL Server 2005 及更早版本的,一些功能不再受支持,我相信可能会有一些更方便的我不知道的功能。
我该如何最好地处理这个问题?
<table class="reporttable">
<tr>
<%
dim strSQL,x,strCriteria
strCriteria = replace(tagname,", ","', '")
'Open the recordset object executing the SQL statement and return records
strSQL = "SELECT * FROM dbo.notes WHERE tag IN('" & strCriteria & "') AND ((dt < '" & dTo & "') AND (dt > '" & dFrom & "')) ORDER BY dt DESC"
set objRecordSet = objConn.Execute (strSQL)
for each x in objRecordSet.Fields
response.write("<th>" & ucase(x.name) & "</th>")
next
%>
</tr>
<%do until objRecordSet.EOF%>
<tr>
<%
for each x in objRecordSet.Fields
if x.name="no" then%>
<%else%>
<td><%Response.Write(x.value)%> </td>
<%end if
next
%>
<%objRecordSet.MoveNext%>
</tr>
<%
loop
objRecordSet.close
set objRecordSet=nothing
objConn.close
set objConn=nothing
%>
</table>
是的,它必须以某种方式保持经典 ASP,因为它必须适合非常笨拙且功能有限的浏览器。
我对你的问题感到困惑。但我想我可能有你想要的答案。
您实际上是在问如何将引号放在您的 mutli-select-box 值周围吗?
strCriteria = "'" & replace(tagname,", ","','") & "'"
每边额外的“'”开始和结束引号。 (或你所说的 gnyphs)
已解决!
解决方案:
在下面的代码中对其进行编辑将是一个简洁的解决方案。
strCriteria = "" & replace(tagname,", ","','") & ""
原题:
我有一个列表框,其中填充了 SQL Server Express table 列的内容。列表框所在的 HTML 表单将生成 HTML table 报告。
我的经验是列表框将多个选定值存储为 VALUE1, VALUE2, VALUE3
,而 SQL 查询需要这些值作为 'VALUE1', 'VALUE2', 'VALUE3'
- 使用 gnyphs。因此,它将只选择一个值,因为查询会说 'VALUE1, VALUE2, VALUE3'
- gnyphs around the whole。正如您在下面的代码中看到的那样,我已经尝试使用替换,但是由于这不起作用,我不确定我是否正确地处理了这个问题。
我做了很多谷歌搜索并找到了很多有用的文章,尽管它们是针对 SQL Server 2005 及更早版本的,一些功能不再受支持,我相信可能会有一些更方便的我不知道的功能。
我该如何最好地处理这个问题?
<table class="reporttable">
<tr>
<%
dim strSQL,x,strCriteria
strCriteria = replace(tagname,", ","', '")
'Open the recordset object executing the SQL statement and return records
strSQL = "SELECT * FROM dbo.notes WHERE tag IN('" & strCriteria & "') AND ((dt < '" & dTo & "') AND (dt > '" & dFrom & "')) ORDER BY dt DESC"
set objRecordSet = objConn.Execute (strSQL)
for each x in objRecordSet.Fields
response.write("<th>" & ucase(x.name) & "</th>")
next
%>
</tr>
<%do until objRecordSet.EOF%>
<tr>
<%
for each x in objRecordSet.Fields
if x.name="no" then%>
<%else%>
<td><%Response.Write(x.value)%> </td>
<%end if
next
%>
<%objRecordSet.MoveNext%>
</tr>
<%
loop
objRecordSet.close
set objRecordSet=nothing
objConn.close
set objConn=nothing
%>
</table>
是的,它必须以某种方式保持经典 ASP,因为它必须适合非常笨拙且功能有限的浏览器。
我对你的问题感到困惑。但我想我可能有你想要的答案。
您实际上是在问如何将引号放在您的 mutli-select-box 值周围吗?
strCriteria = "'" & replace(tagname,", ","','") & "'"
每边额外的“'”开始和结束引号。 (或你所说的 gnyphs)