【发布时间】:2020-03-26 17:24:00
【问题描述】:
我在 Azure 上与我的 SQL Server 建立了数据库连接。页面上显示了两列,但没有显示其他 2. 列是公司名称和更多详细信息
Company Name 是标准的企业名称
Further Details 存储更多信息的 URL
我已经尝试了 SQL 管理中的 SQL 语句,它显示了应该显示的数据。
我检查了列的参数,它们都是 nvarchar(Max) 在单击以修改列的大小时显示为 -1。这是否意味着它的大小不受限制?
文件类型是带有内联 CSS 和 HTML 的经典 ASP。
以下是在数据库中调用的内容。
<%
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
%>
以下是数据库在 HTML 表中的存储方式。
<!--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)
任何帮助都会很棒。
【问题讨论】:
-
Classic ASP 支持什么无关紧要,(基于 SQL Server Provider) ADODB 支持什么。检查您在连接字符串中使用的提供程序是否支持 varchar(max) 和 nvarchar(max)。
-
正如已经指出你不能这样做
strValue = Request.QueryString(<%= rspiudata.Fields("companyname") %>)它应该是strValue = Request.QueryString(rspiudata.Fields("companyname").Value)。
标签: sql asp-classic sqlconnection