对后台消息进行修改,提交后总是提示“参数错误{ID=0}”找不到原因,不知什么情况,有哪位高手指点一下?

Id = parseInt(Request.Form("Id"))

set rs = Server.CreateObject("adodb.recordset")

sql = "select * from ["& MainTb &"] where Id = "& Id

rs.open sql,conn,1,3

   if rs.EOf then

    Call V.AddError("Id","参数错误{Id="& Id &"}")

   End if

Id要不要加上单引号?

sql = "select * from ["& MainTb &"] where Id = '"& Id &"'"

早试过了不行

标准表达式中数据类型不匹配。


id是获取到值了吗?有没有报错信息

为什么要加中括号[ ]呀 sql = "select * from "& MainTb &" where Id = '" & Id & "'"

你的表名本身有中括号吗

sql = "select * from "& MainTb &" where Id = '" & Id & "'"

还有看一下你的数据库中的表的ID,首字母是大写Id还是小写id

sql = "select * from "& MainTb &" where Id = '" & Id & "'"

小写id

sql = "select * from "& MainTb &" where id = '" & Id & "'"

首先谢谢各位的热心解答,不过问题还是那样成迷,已试过多种方法,恐怕不是那么简单的问题,否则早就解决了。

能截一下表的图吗

表没问题,是提交修改时提示错误

看一下表字段

看下获取的参数有没有问题啊

参数都是正常的,只是提交出错

你还是把报错的log信息帖出来吧

只有“参数错误{ID=0}” 没有别的提示信息

你获取的Id参数有问题 可能没有获取到。打断点看下rs返回的是什么

或者你的sql 在数据库没查到数据

该问题已自行解决,改用别的方法了。谢谢诸位。