0

以下是我正在处理的 ASP 代码:

Dim sConnString, connection, sSQL, backgroundColor
sSQL = "SELECT firstName, lastName, email, zip, country, company, industry, revenue, timestamp FROM users"
sConnString=//a connection string
Set connection = Server.CreateObject("ADODB.Connection")
connection.Mode=adModeRead
connection.Open(sConnString)
connection.execute(sSQL)

Response.Write"<table>"
do while not connection.EOF
    if(backgroundColor="#f1f1f1")then
        backgroundColor="#ffffff"
    else
        backgroundColor="#f1f1f1"
    end if

    response.write"<tr backgroundColor="& backgroundColor & "></td>" & connection("firstName") & "</td><td>" & connection("lastName") & "</td><td>" & connection("email") & "</td><td>" & connection("zip") & "</td><td>" & connection("country") & "</td><td>" & connection("company") & "</td><td>" & connection("industry") & "</td><td>" & connection("revenue") & "</td><td>" & connection("timestamp") & "</td></tr>"

    connection.MoveNext
Loop
Response.Write"</table>"

connection.Close
Set connection = Nothing

我收到以下错误:

ADODB.Connection 错误“800a0bb9”

参数类型错误、超出可接受范围或相互冲突。

/wsu.asp,第 13 行

第 13 行:

do while not connection.EOF

你能帮我解决这个问题吗?

更新代码:

<html>
<body>
<%
Dim sConnString, connection, sSQL, backgroundColor
sSQL = "SELECT firstName, lastName, email, zip, country, company, industry, revenue, timestamp FROM users"
sConnString="a connection string for MS SQL database;"
Set connection = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
connection.Mode=adModeRead
rs.open sSQL,connection

Response.Write"<table>"
do while not connection.EOF
if(backgroundColor="#f1f1f1")then
backgroundColor="#ffffff"
else
backgroundColor="#f1f1f1"
end if

response.write "<tr backgroundColor="& backgroundColor & "></td>" & connection("firstName") & "</td><td>" & connection("lastName") & "</td><td>" & connection("email") & "</td><td>" & connection("zip") & "</td><td>" & connection("country") & "</td><td>" & connection("company") & "</td><td>" & connection("industry") & "</td><td>" & connection("revenue") & "</td><td>" & connection("timestamp") & "</td></tr>"

connection.MoveNext
Loop
Response.Write"</table>"

connection.Close
Set connection = Nothing
%>
</body>
</html>
4

2 回答 2

1

在您的代码中查看以下编辑 - 您创建一个记录集,然后打开它并执行它

<html>
<body>
<%
Dim sConnString, connection, sSQL, backgroundColor,objrs
sSQL = "SELECT firstName, lastName, email, zip, country, company, industry, revenue, timestamp FROM users"    
Set connection = Server.CreateObject("ADODB.Connection")
connection.connectionstring = "put your connection string in here"
' replace put your connection string in here with your connection string
Set objrs= Server.CreateObject("ADODB.Recordset")   
connection.Open()
objrs.open sSQL,connection

Response.Write"<table>"
do while not objrs.EOF
if(backgroundColor="#f1f1f1")then
backgroundColor="#ffffff"
else
backgroundColor="#f1f1f1"
end if

response.write"<tr backgroundColor="& backgroundColor & "></td>" & objrs("firstName") & "</td><td>" & objrs("lastName") & "</td><td>" & objrs("email") & "</td><td>" & objrs("zip") & "</td><td>" & objrs("country") & "</td><td>" & objrs("company") & "</td><td>" & objrs("industry") & "</td><td>" & objrs("revenue") & "</td><td>" & objrs("timestamp") & "</td></tr>"

objrs.MoveNext
Loop
Response.Write"</table>"
%>
</body>
</html>

一张纸条: -

这需要类似于-不确定您使用的是什么数据库-

 sConnString= "Provider=sqloledb;Data Source=ServerName;Initial Catalog=DatebaseName "

或者,如果您有 dsn 连接,那么只需

sConnString = "DSN=xxxxx;uid=xxx;pwd=xxx"
于 2012-04-23T11:06:00.770 回答
0

您将需要创建一个Recordset以从 SQL 查询中读取数据。您已经使用了连接本身。

试试下面的例子。

这里

于 2012-04-23T11:08:03.373 回答