至少一个参数没有被指定值。 50
setconn=Server.CreateObject("adodb.connection")connstr="Provider=Microsoft.Jet.OLEDB....
set conn = Server.CreateObject("adodb.connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db1.mdb")
conn.open connstr
set rs=server.createobject("adodb.recordset")
sql="select * from t1 where 1 = "&Title&" "
rs.open sql,conn,3,3
if rs.eof and rs.bof then
rs("1") = "失败"
rs.update
set rs=nothing
end if
rs.close
set rs=nothing
哪里有错啊?
rs("1") = "Title" 展开
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db1.mdb")
conn.open connstr
set rs=server.createobject("adodb.recordset")
sql="select * from t1 where 1 = "&Title&" "
rs.open sql,conn,3,3
if rs.eof and rs.bof then
rs("1") = "失败"
rs.update
set rs=nothing
end if
rs.close
set rs=nothing
哪里有错啊?
rs("1") = "Title" 展开
4个回答
推荐于2018-05-07
展开全部
帮你指出几个问题,自己解决:
1、以数字、内置函数作为字段名时,查询语句中应在该字段前后加上[],否则将出错。
2、字段1的类型为字符串,查询时其条件前后应加单引号。
综合1、2:
sql="select * from t1 where 1 = "&Title&" "
应修改为:
sql="select * from t1 where [1] = '" & Title & "'"
根据你的程序,大概应进一步修改为:
sql="select * from t1 where [1] = 'Title'"
3、当查询没有结果时,不能进行调用、修改,下面的语句:
if rs.eof and rs.bof then
rs("1") = "失败"
rs.update
set rs=nothing
end if
当rs.eof and rs.bof时,不能进行rs("1") = "失败"和rs.update
4、当对象关闭或清除后,不能再继续操作:
还是上面的语句:在if语句内set rs=nothing后,end if后就不能再rs.close、set rs=nothing了。
综合3、4和你的问题补充,应做如下修改:
if rs.eof then'去掉and rs.bof ,bof一般应用于MovePrevious时
rs.addnew
rs("1") = "Title"
rs.update
'set rs=nothing去掉此句
end if
可进一步简化为:
If rs.EOF Then conn.Execute "insert into t1 ([1]) values ('Title')"
多琢磨一下,你的程序还可进一步简化。
1、以数字、内置函数作为字段名时,查询语句中应在该字段前后加上[],否则将出错。
2、字段1的类型为字符串,查询时其条件前后应加单引号。
综合1、2:
sql="select * from t1 where 1 = "&Title&" "
应修改为:
sql="select * from t1 where [1] = '" & Title & "'"
根据你的程序,大概应进一步修改为:
sql="select * from t1 where [1] = 'Title'"
3、当查询没有结果时,不能进行调用、修改,下面的语句:
if rs.eof and rs.bof then
rs("1") = "失败"
rs.update
set rs=nothing
end if
当rs.eof and rs.bof时,不能进行rs("1") = "失败"和rs.update
4、当对象关闭或清除后,不能再继续操作:
还是上面的语句:在if语句内set rs=nothing后,end if后就不能再rs.close、set rs=nothing了。
综合3、4和你的问题补充,应做如下修改:
if rs.eof then'去掉and rs.bof ,bof一般应用于MovePrevious时
rs.addnew
rs("1") = "Title"
rs.update
'set rs=nothing去掉此句
end if
可进一步简化为:
If rs.EOF Then conn.Execute "insert into t1 ([1]) values ('Title')"
多琢磨一下,你的程序还可进一步简化。
中智咨询
2024-08-28 广告
2024-08-28 广告
在当今竞争激烈的商业环境中,企业需要不断提高自身的竞争力,以保持市场份额和增加利润。通过人效提升,企业可以更有效地利用有限的资源,提高生产力和效益,从而实现盈利目标。中智咨询提供全方位的组织人效评价与诊断、人效提升方案等数据和管理咨询服务。...
点击进入详情页
本回答由中智咨询提供
展开全部
sql="select * from t1 where 1 = "&Title&" "
看rs("1") = "失败",1字段的数据类型是字符串型,而sql语句中字段1的赋值是数字型,所以应该是:
sql="select * from t1 where 1 = '" & Title & "' ",加单引号!
注意:& 二边必须有空格!!
看rs("1") = "失败",1字段的数据类型是字符串型,而sql语句中字段1的赋值是数字型,所以应该是:
sql="select * from t1 where 1 = '" & Title & "' ",加单引号!
注意:& 二边必须有空格!!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql="select * from t1 where 1 = "&Title&" "
改为:
sql="select * from [t1] where [1] = "&Title&" "
你是用1作字段名?
改为:
sql="select * from [t1] where [1] = "&Title&" "
你是用1作字段名?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询