主题:  "至少一个参数没有被指定值"出错提示。

恐龙特急克塞号

职务:普通成员
等级:3
金币:3.0
发贴:948
#12003/12/26 19:34:54
我在用update更新一字段内容的时候出错。请大家帮忙看看错在哪里。
Dim ReplyNo As Integer
ReplyNo=Session("ReplyNo")
Dim SqlStr1 As String
SqlStr1="Update 留言 set 最后回复时间="
SqlStr1+="'" & Now() & "'"
SqlStr1+=" Where ID=ReplyNo"
Dim Dd As New OleDbDataAdapter(SqlStr1, ConStr)
Dim Ds As New DataSet()
If Page.IsValid Then
Dd.Fill(Ds, "留言1")
End If
上面这段代码运行中提示"至少一个参数没有被指定值"。但是我试验了一下,如果把那句SqlStr1+=" Where ID=ReplyNo"中改为"ID=10"啊什么的一个表中存在的整数,是可以正常运行的。那为什么写成ID=ReplyNo就不可以呢?我尝试写成
SqlStr1+=" Where ID="
SqlStr1+="'" & ReplyNo & "'"
也不行,提示“标准表达式中数据类型不匹配。”。搞不懂。请大家看看我错在哪里啊。谢谢了。
ID是表中一个自动编号的长整型字段。而表中的回复编号是个文本型的字段。是因为这出的错吗?那么前面已经定义了
Dim ReplyNo As Integer
ReplyNo=Session("ReplyNo")
为什么还不行呢?我并没让ID 与表中回复编号这一字段比较啊,而是与ReplyNo比较的。


克塞,前来拜访!

=ridincal=

职务:管理员
等级:7
金币:20.0
发贴:5886
#22003/12/26 20:05:06
ConStr 这个变量定义了吗?



恐龙特急克塞号

职务:普通成员
等级:3
金币:3.0
发贴:948
#32003/12/26 20:09:31
定义了的。因为觉得没必要全部写上来。我估计问题该出在我的sqlstr1中。所以只写了这部分的。


克塞,前来拜访!

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#42003/12/26 20:18:48
SqlStr1+=" Where ID=" & ReplyNo


把变量写在字符串里面?



恐龙特急克塞号

职务:普通成员
等级:3
金币:3.0
发贴:948
#52003/12/26 20:39:17
不好意思啊。从来没认真的学习过相关知识。所以老给大家添麻烦。谢谢大家为我解决了问题!


克塞,前来拜访!

谁染枫林醉

职务:普通成员
等级:1
金币:1.0
发贴:148
#62003/12/28 22:10:28
这是ASP,还是ASP.NET呀



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#72003/12/28 23:25:49
引用:
Dim ReplyNo As Integer
VBScript or VB?
引用:
SqlStr1="Update 留言 set 最后回复时间="
SqlStr1+="'" & Now() & "'"
Access or SQL Server? ASP or ASP.NET?

如果遇到这种错误,在执行SQL前输出一下SQL语句,可以很容易地找出问题所在。

抄来的程序是很难调试的。。。



悲伤的设计

职务:普通成员
等级:1
金币:1.0
发贴:158
#82003/12/30 23:07:19
以后能不能把代码用代码方式写?这样看代码多累,眼睛都痛了