gpt4 book ai didi

arrays - 经典的 ASP 从 SQL 数据库中提取数据并将其放入数组中

转载 作者:行者123 更新时间:2023-12-04 17:54:25 32 4
gpt4 key购买 nike

SQL Server 2000 中包含两个字段(两个季节的每月苹果数和每月橙子数)的简单表 (Table1)。我需要使用经典 ASP 提取这些字段的值并填充两个数组。约束:这些数组已经由现成的应用程序定义,我不需要接触太多,因为我是经典 ASP 的初学者,我可能会做错事。

这些数组的定义如下:

Dim m_arrApples, m_arrOranges

我已经成功连接到数据库,提取数据,然后在浏览器中显示它(格式数字)。然而,当我需要将它传输到一个数组中(以便被那个现成的应用程序接管并处理它(以图形格式显示)时,我遇到了一个错误。这是我的代码:

'Open connection with SQL Server
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=SQLOLEDB;server=" & NameServer & ";database=" & DataBaseName & ";uid=" & NameUser & ";pwd=" & DataBasePassword & ";"

'Open table and all records for further processing
dim strSQL
strSQL = "select * from " & Table1
Set rst = conn.Execute(strSQL)

'Going through the records in the table and try to get values of each field and allocate them to the array
If rst.BOF And rst.EOF Then
Response.Write "No data"
Else

i=0

Do While (Not rst.EOF)
i=i+1

'The line below confirms that the data extracted from database is displayed in the browser
'in its primary form (not graph), but that means I did it correctly up to this point
Response.Write rst("Apples") & "/" & rst("Oranges") & "<br>"

m_arrApples(i)= rst("Apples") ' THE ERROR IS AT THIS LINE. HERE THE SCRIPT IS STOPPED
m_arrOranges(i)= rst("Oranges")

rst.MoveNext
Loop
End If

错误是:

Microsoft VBScript runtime error '800a000d' 
Type mismatch

任何提示将不胜感激。

最佳答案

在使用动态数组时你需要使用

ReDim Preserve m_arrApples(i + 1)

要增加数组的大小,如果您已经知道大小,请使用固定数组(如果您知道您将有 10 个值,请使用 Dim m_arrApples(9)).


有用的链接

关于arrays - 经典的 ASP 从 SQL 数据库中提取数据并将其放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41636801/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com