| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 614 人关注过本帖
标题:[求助]这是什么原因
只看楼主 加入收藏
nbsyf
Rank: 1
等 级:新手上路
帖 子:382
专家分:0
注 册:2006-7-31
结帖率:90.7%
收藏
 问题点数:0 回复次数:6 
[求助]这是什么原因
在ASP中用
Dim a(10.5)可以通过,但用S=10;Dim a(s,2)这两句就不行了,运行时会出现错误提示如下
错误类型:
Microsoft VBScript 编译器错误 (0x800A0402)
缺少整型常数
/xscjbgd/untitled.asp, line 12, column 6
dim a(s,2)
-----^
请教这是什么原因?
搜索更多相关主题的帖子: Microsoft Dim ASP untitled 
2007-07-19 14:04
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
ASP中定义数组,不能用变量定义,解决这个问题ASP中可以使用ReDim关键字比如
Dim a()
Dim s
s=10
ReDim a(s,2)
注意:ReDim必须在定义了数组之后重定义数组,像上面的例子a数组定义时不指定元素个数,用ReDim重定义数组就可以。
还有ReDim对同一个数组只能使用一次,使用多次会出错误如:
Dim a()
Dim s
s=10
ReDim a(5,10)
ReDim a(s,2)
2007-07-19 15:24
nbsyf
Rank: 1
等 级:新手上路
帖 子:382
专家分:0
注 册:2006-7-31
收藏
得分:0 
回复:(yms123)ASP中定义数组,不能用变量定义,解决...
谢谢!在这前我也用过Redim,但在这句前我没有用dim a() 而是用dim a(5,2)这就错了。
能否再请教版主一个问题;如下我不知道错误出在什么地方
update g1bgd set qz_yw=77,qz_sx=71,qz_yy=73 where xh='101' and xm='柴青'
conn.execute strq
运行到conn.execute strq时出现错误提示

错误类型:
Microsoft JET Database Engine (0x80040E10)
No value given for one or more required parameters.
/xscjbgd/srbgd.asp, 第 52 行

字段qz_yw等是数值型,xh、xm是字符型,我看不出update这句在什么地方错了?能否帮助提出。谢谢!
2007-07-19 16:10
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
update g1bgd set qz_yw=77,qz_sx=71,qz_yy=73 where xh='101' and xm='柴青'
conn.execute strq
这两程序句改成下面这样写呢?
Dim rsUpt
Set rsUpt=Server.CreateObject("ADODB.RecordSet")
rsUpt.Open "select * from [g1bgd] where xh='101' and xm='柴青'",conn,1,3
rsUpt("qz_yw")=77
rsUpt("qz_sx")=71
rsUpt("qz_yy")=73
rsUpt.Update
rsUpt.Close
Set rsUpt=Nothing
2007-07-19 16:18
nbsyf
Rank: 1
等 级:新手上路
帖 子:382
专家分:0
注 册:2006-7-31
收藏
得分:0 
谢谢回答!不过下面的update g1bgd set qz_yw=77,qz_sx=71,qz_yy=73 where xh='101' and xm='柴青'语句只是一个字符串变量,qz_yw=77,qz_sx=71,qz_yy=73where xh='101' and xm='柴青' 等是随程序的运行而变化的字符串变量,即kk="qz_yw=77,qz_sx=71,qz_yy=73 where xh='101' and xm='柴青'",(其中一切都是在变的)
strq="update g1bgd set "+kk
conn.execute strq
程序运行到第一条记录时,用response.write(strq)显示的是
update g1bgd set qz_yw=77,qz_sx=71,qz_yy=73 where xh='101' and xm='柴青'(rs.movenext后,这句的内容就变了),故我要请教这句在什么地方出错了,是否对数值型变量qz_sx=71这句写的不对
2007-07-19 17:00
udbyygy
Rank: 1
等 级:新手上路
威 望:2
帖 子:226
专家分:0
注 册:2007-6-26
收藏
得分:0 
你随机得到的数据不是整型数据,所以报错

2007-07-19 17:13
nbsyf
Rank: 1
等 级:新手上路
帖 子:382
专家分:0
注 册:2006-7-31
收藏
得分:0 
用response.write(strq)显示的是
update g1bgd set qz_yw=77,qz_sx=71,qz_yy=73 where xh='101' and xm='柴青'
其中77等数据可能不是整型数据,它是从打开的数据表中取得的,是cstr(rs1.fields.Item(ls(i,1))),因为要进行字符+而用了cstr(),难道这有错?
2007-07-19 17:27
快速回复:[求助]这是什么原因
数据加载中...
 
   



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

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