我的一个很奇怪的问题,已经搞了一天了,还是没搞定。大家看看吧
我要实现下面功能:
管理员分超级管理员。栏目管理员,以及信息浏览员
因为栏目有N列,所以我建了一个表里面用N列来放权限。切权限列用数字来表示
比如:1,2,3。。。。。N。都是列名。0表示没有权限 。1表示有权限.并且具体用户的权限也是放在这个表里。有一个TYPE来区别是管理组权限。还是具体管理员权限。。。。
有一个GroupID表示所属于的组。
现在我在实现下面功能的时候遇到了问题:
比如我在超级管理员下添加一个用户,我希望添加完成后能够赋予改用户初始的超级管理员权限。
我的实现方法如下:
先通过RS取出Groupid=1的记录集。
然后通过MYRS更新
如:
myrs.addnew
myrs("GroupID")=rs("GroupID")
for i=1 to N
myrs(i)=rs(i)
next
rs.update
但是一用FOR循环来更新就报错。
去掉FOR循环那段就没问题
搞不明白是什么问题
大家看看啊
问题点数:20、回复次数:11Top
1 楼mingyuexingguang(明月星光)回复于 2005-08-03 19:50:09 得分 0
myrs(str(i))=rs(str(i))
直接用数字表示第几列,而非列名,用数字表示列名要转换成字符串类型
建议以英文开头建表...Top
2 楼mingyuexingguang(明月星光)回复于 2005-08-03 19:50:59 得分 0
myrs(CStr(i))=rs(CStr(i))
更正下...Top
3 楼byzxxjhd(xjh(gliet))回复于 2005-08-03 19:59:40 得分 0
已经试过这种方法了
还是报错啊
Top
4 楼mingyuexingguang(明月星光)回复于 2005-08-03 20:07:05 得分 0
N 赋值了么...Top
5 楼byzxxjhd(xjh(gliet))回复于 2005-08-03 20:10:51 得分 0
N只是用来代表的。我在代码里面是47。因为我有47个蓝木
呵呵。这个是专门写成这样的Top
6 楼mingyuexingguang(明月星光)回复于 2005-08-03 20:13:07 得分 0
把错误提示发上来Top
7 楼byzxxjhd(xjh(gliet))回复于 2005-08-03 20:17:04 得分 0
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: '1' 附近有语法错误。
/admin/Manager_Add_Manager_C.asp,行99
行99就是myrs.update
更正一上。上面循环的myrs.addnew后面是myrs.update.不是rs.update。笔误
Top
8 楼huzanqiang8(成长中的鱼儿)回复于 2005-08-03 20:28:55 得分 0
for i=1 to N
myrs.fields(i).value=rs(i).fields(i).valueTop
9 楼mingyuexingguang(明月星光)回复于 2005-08-03 20:47:22 得分 0
打开myrs数据集时参数是,1,3么==Top
10 楼byzxxjhd(xjh(gliet))回复于 2005-08-03 20:55:59 得分 0
是的
这些基本错误已经排除了
Top
11 楼AloneSword(孤剑)回复于 2005-08-03 21:16:21 得分 0
您说的问题是用数组更新字段的问题,更改了就没有错误了。Top




