SQL 数据未在网站上显示两列
SQL data not showing two columns on site
我有一个数据库连接到我在 Azure 上的 SQL 服务器。页面上显示了两列,但未显示其他两列。列是公司名称和更多详细信息
公司名称为标准企业名称
更多详细信息存储指向更多信息的 URL
我已经在 SQL 管理中尝试了 SQL 语句,它显示了应该显示的数据。
我查看了列的参数,都是nvarchar(Max),点击修改列的大小时显示为-1。这是否意味着它没有大小限制?
文件类型为经典 ASP,内嵌 CSS 和 HTML。
下面是数据库中调用的内容。
<%
Session.LCID=2057
Dim connpiudb, rspiudata, strSQL, fldThis, strSQL2, strSQL3, strcategory
strcategory = Request.querystring("category")
Set connpiudb = Server.CreateObject("ADODB.Connection")
Set rspiudata = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT companyname, courtnumber, cronumber, furtherdetails FROM piudata WHERE category LIKE '" & strCategory & "%' Order by companyname"
strValue = Request.QueryString(<%= rspiudata.Fields("companyname") %>)
response.write strSQL
response.write strValue
<!-- strSQL = "SELECT companyname , courtnumber , cronumber, furtherdetails FROM piudata WHERE category LIKE '%c%' Order by companyname" -->
connpiudb.Open strConnect
rspiudata.open strSQL, connpiudb
%>
下面是数据库在HTMLtable中的存储方式。
<!--content start-->
<FONT FACE="Arial" size="2">
<TABLE BORDER="0" cellpadding="2" width="60%"><TR>
<%
Do Until rspiudata.EOF
%>
<TR><TD width="40%"><B>Company Name:</B></TD><TD width="60%"><%= rspiudata.Fields("companyname") %></TD></TR>
<TR><TD width="40%"><B>Further Details:</B></TD><TD width="60%"><%=rspiudata.Fields("furtherdetails") %></TD></TR>
<TR><TD width="40%"><B>Court Number:</B></TD><TD width="60%"><%= rspiudata.Fields("courtnumber") %></TD></TR>
<TR><TD width="40%"><B>Company Registered Number:</B></TD><TD width="60%"><%= rspiudata.Fields("cronumber") %></TD></TR>
<TR><TD width="100%" colspan="2"><HR></TD></TR>
<%
rspiudata.movenext
Loop
rspiudata.Close
Set rspiudata = Nothing
connpiudb.close
%>
</TABLE>
我很难理解实际问题是什么。我唯一想到的是,将列大小设置为 MAX 时默认为 -1,或者 Classic ASP 不支持 NVARCHAR(max)
任何帮助都会很棒。
在进一步讨论之前,需要更正以下代码
<%
...
strValue = Request.QueryString(<%= rspiudata.Fields("companyname") %>)
我知道你把它用于调试目的,但是它既没有有效的语法(你在现有服务器代码块中注入 <% %>
也没有有效的运算符(Request.QueryString 用于查询字符串)也没有正确的位置(记录集已定义但未打开)。
并阅读有关 sql 注射的信息。
我有一个数据库连接到我在 Azure 上的 SQL 服务器。页面上显示了两列,但未显示其他两列。列是公司名称和更多详细信息
公司名称为标准企业名称
更多详细信息存储指向更多信息的 URL
我已经在 SQL 管理中尝试了 SQL 语句,它显示了应该显示的数据。
我查看了列的参数,都是nvarchar(Max),点击修改列的大小时显示为-1。这是否意味着它没有大小限制?
文件类型为经典 ASP,内嵌 CSS 和 HTML。
下面是数据库中调用的内容。
<%
Session.LCID=2057
Dim connpiudb, rspiudata, strSQL, fldThis, strSQL2, strSQL3, strcategory
strcategory = Request.querystring("category")
Set connpiudb = Server.CreateObject("ADODB.Connection")
Set rspiudata = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT companyname, courtnumber, cronumber, furtherdetails FROM piudata WHERE category LIKE '" & strCategory & "%' Order by companyname"
strValue = Request.QueryString(<%= rspiudata.Fields("companyname") %>)
response.write strSQL
response.write strValue
<!-- strSQL = "SELECT companyname , courtnumber , cronumber, furtherdetails FROM piudata WHERE category LIKE '%c%' Order by companyname" -->
connpiudb.Open strConnect
rspiudata.open strSQL, connpiudb
%>
下面是数据库在HTMLtable中的存储方式。
<!--content start-->
<FONT FACE="Arial" size="2">
<TABLE BORDER="0" cellpadding="2" width="60%"><TR>
<%
Do Until rspiudata.EOF
%>
<TR><TD width="40%"><B>Company Name:</B></TD><TD width="60%"><%= rspiudata.Fields("companyname") %></TD></TR>
<TR><TD width="40%"><B>Further Details:</B></TD><TD width="60%"><%=rspiudata.Fields("furtherdetails") %></TD></TR>
<TR><TD width="40%"><B>Court Number:</B></TD><TD width="60%"><%= rspiudata.Fields("courtnumber") %></TD></TR>
<TR><TD width="40%"><B>Company Registered Number:</B></TD><TD width="60%"><%= rspiudata.Fields("cronumber") %></TD></TR>
<TR><TD width="100%" colspan="2"><HR></TD></TR>
<%
rspiudata.movenext
Loop
rspiudata.Close
Set rspiudata = Nothing
connpiudb.close
%>
</TABLE>
我很难理解实际问题是什么。我唯一想到的是,将列大小设置为 MAX 时默认为 -1,或者 Classic ASP 不支持 NVARCHAR(max)
任何帮助都会很棒。
在进一步讨论之前,需要更正以下代码
<%
...
strValue = Request.QueryString(<%= rspiudata.Fields("companyname") %>)
我知道你把它用于调试目的,但是它既没有有效的语法(你在现有服务器代码块中注入 <% %>
也没有有效的运算符(Request.QueryString 用于查询字符串)也没有正确的位置(记录集已定义但未打开)。
并阅读有关 sql 注射的信息。