| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2576 人关注过本帖
标题:代码错误,想把数据库中的一列赋值给数组,并输出来。
只看楼主 加入收藏
Kettyjin1983
Rank: 1
等 级:新手上路
帖 子:303
专家分:0
注 册:2007-8-17
结帖率:66.67%
收藏
 问题点数:0 回复次数:15 
代码错误,想把数据库中的一列赋值给数组,并输出来。

<%@ LANGUAGE=VBSCRIPT%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>THANKS FOR YOUR SUPPORT</title>
</head>


<body bgcolor="#CCFFFF">

<%
dim myconn
set myconn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")

constr="provider=microsoft.jet.oledb.4.0;Data Source=" & server.MapPath("user.mdb")
myconn.open=constr
Set rs=myconn.Execute("select ID from user")
id = rs("ID")

if not rs.eof then
dim num(28)
i =0
num(i)=id
response.Write num(i)&"<br>"

i=i+1
movenext

end if
rs.close
set rs=nothing
Myconn.close
set myconn=nothing
%>

</body>

</html>

Microsoft JET Database Engine 错误 '80040e14'

FROM 子句语法错误。

/survey/random/aabb.asp,行23

搜索更多相关主题的帖子: 赋值 数据库 代码 
2007-11-20 13:53
Kettyjin1983
Rank: 1
等 级:新手上路
帖 子:303
专家分:0
注 册:2007-8-17
收藏
得分:0 

哪里错了啊,同志们,帮我看看呀。

2007-11-20 14:31
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
myconn.open=constr
这里调用的是方法不用加=号应改为
myconn.open constr

Set rs=myconn.Execute("select ID from user")
user为数据库关键字不能用作表名,如一定要用加中括号区别
Set rs=myconn.Execute("select ID from [user]")
2007-11-20 15:22
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
select ID from user
改成
select ID from [user]
2007-11-20 15:22
Kettyjin1983
Rank: 1
等 级:新手上路
帖 子:303
专家分:0
注 册:2007-8-17
收藏
得分:0 

<%@ LANGUAGE=VBSCRIPT%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>THANKS FOR YOUR SUPPORT</title>

</head>
<body bgcolor="#CCFFFF">
<%
dim myconn
set myconn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")

constr="provider=microsoft.jet.oledb.4.0;Data Source=" & server.MapPath("user.mdb")
myconn.open constr
Set rs=myconn.Execute("select ID from login")
if not rs.eof then
dim num(28)
i =0
for i=0 to 28
num(i)=rs("id")
response.Write num(i)&"<br>"
rs.movenext
i=i+1
next

end if
rs.close
set rs=nothing
Myconn.close
set myconn=nothing
%>

</body>

</html>
页面怎么只显示了0-14,后面的就没有了,奇怪了,本来应该是0-28啊?

2007-11-20 15:41
Kettyjin1983
Rank: 1
等 级:新手上路
帖 子:303
专家分:0
注 册:2007-8-17
收藏
得分:0 
晕,只显示了一半啊,我把num(28)改成num(14),它只显示0-7,咋回事啊?
2007-11-20 15:48
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
dim num(28)
i =0
for i=0 to 28
num(i)=rs("id")
response.Write num(i)&"<br>"
rs.movenext
i=i+1
next
改成这样试试
Dim num(28)
Dim i
i=0
Do Until rs.eof
IF i<=Ubound(num) Then
num(i)=rs("id")
response.Write num(i)&"<br>"
End IF
i=i+1
rs.movenext
Loop
2007-11-20 16:15
Kettyjin1983
Rank: 1
等 级:新手上路
帖 子:303
专家分:0
注 册:2007-8-17
收藏
得分:0 

行了,强烈要求斑竹解释一下原因,为什么我写的只显示一半啊,

2007-11-20 16:25
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

dim num(28)
i =0
for i=0 to 28
num(i)=rs("id")
response.Write num(i)&"<br>"
rs.movenext
i=i+1
next
看过楼主的代码分析目的是想把数据库记录集rs中的所有id都放到数组里,而楼主的写法只是在循环数组,并没有循环记录集。个人认为如果这段程序只做查询,其实可以写的更灵活一些,因为这里已知数据库里有28个ID,如果未知数据库里的ID个数,这个程序就不好办了,所以个人修改了一下楼主的程序
<%
dim myconn
set myconn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")

constr="provider=microsoft.jet.oledb.4.0;Data Source=" & server.MapPath("user.mdb")
myconn.open constr
rs.Open "select ID from login",1,1'更改打开记录集的方式获得记录总数
if not rs.eof then
Dim num()'动态数组
Dim i
ReDim num(rs.RecordCount)'初始化动态数组确定数组元素的个数,rs.RecordCount返回当前记录集有多少条记录。
i=0
Do Until rs.EOF
num(i)=rs("id")
response.Write num(i)&"<br>"
i=i+1
rs.movenext
Loop
end if
rs.close
set rs=nothing
Myconn.close
set myconn=nothing
%>


[此贴子已经被作者于2007-11-20 16:57:10编辑过]

2007-11-20 16:55
Kettyjin1983
Rank: 1
等 级:新手上路
帖 子:303
专家分:0
注 册:2007-8-17
收藏
得分:0 
受教了,非常感谢斑竹,你是好样的。
2007-11-21 08:39
快速回复:代码错误,想把数据库中的一列赋值给数组,并输出来。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025482 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved