爆菜的问题,请指点,分不够,在线加。在线急等中.......................

dout 2004-03-26 03:06:27

set rs=server.CreateObject("adodb.recordset")
rs.Open "delete from product where left(convert(varchar(40),getdate(),10),5) = left("rs("type")",5)",conn,1,3
rs.Close
set rs=nothing

这段代码的作用是
通过left(convert(varchar(40),getdate(),10),5)得到系统时间的简写:03-26
通过left("rs("type")",5)得到字段中值为03-26的某一条数据
二者相等时执行删除这条数据

rs("type")是lsb中一个叫type的字段名。

错误提示是
Microsoft VBScript 编译器错误 (0x800A0401)
语句未结束
rs.open "select * from product where left(convert(varchar(40),getdate(),10),5) = left("rs("type")",5)",conn,1,3
--------------------------------------------------------------------------------------^


麻烦各位高人看看
...全文
33 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
flying310 2004-03-27
  • 打赏
  • 举报
回复
set rs=server.CreateObject("adodb.recordset")
rs.Open "delete from product where left(convert(varchar(40),getdate(),10),5) = left("rs("type") (换一个数据集) ",5)",conn,1,3
rs.Close
set rs=nothing
在函数上面是没有错的,其实归结起来就是引号的问题。看看 stefli((桂电)) 的提示。要是不行就换一种思路试试。
sheng9hhd 2004-03-27
  • 打赏
  • 举报
回复
正解-->Delete From lsb Where Left(Convert(varchar(8),Getdate(),10),5)=Left(type,5)
dout 2004-03-27
  • 打赏
  • 举报
回复
up
chinaworker 2004-03-27
  • 打赏
  • 举报
回复
convert

ACCESS 不支持 函数convert

MSSQL才支持 convert
dout 2004-03-26
  • 打赏
  • 举报
回复
请大家帮帮忙啊
stefli 2004-03-26
  • 打赏
  • 举报
回复
nowDate = Right(Left(getDate(),10),5)
chkDate = Left(rs("type"),5)
dout 2004-03-26
  • 打赏
  • 举报
回复

小弟只是想写一段代码作用是
判断
通过left(convert(varchar(40),getdate(),10),5)得到系统时间的简写(格式为:XX-XX,例:03-26)

lsb表中的名叫type的字段中前5个字符值为03-26(格式为:XX-XX)的某一条数据
当二者相等时执行删除这条数据

谢谢各位大哥大姐了
vvfish119 2004-03-26
  • 打赏
  • 举报
回复
你的代码里是不是还有另外一个rs.open……??而且里面返回了一个rs("type)?
这样的话你可以再定义一个记录集:
strtype=rs("type")
set sr=server.creatobject("adodb.recordset")
sr.open "delete from product where left(convert(varchar(40),getdate(),10),5) = left("&strtype&",5)",conn,1,3
潜水的鱼 2004-03-26
  • 打赏
  • 举报
回复
呵呵

人真多,


~闪人

7teeth 2004-03-26
  • 打赏
  • 举报
回复
type是字段??
left("rs("type")",5)
修改成:left(type,5)看看
vvfish119 2004-03-26
  • 打赏
  • 举报
回复
rs.Open "delete from product where left(convert(varchar(40),getdate(),10),5) = left("rs("type")",5)",conn,1,3
这里面rs(type")是利用asp的记录集取出的记录,而整个句子是利用rs记录集执行一条sql语句,也就是说你在利用rs的查询结果去打开rs的查询,可能吗?
这句里面rs都还没有open,从哪里来的rs("type")???只有当rs.open……正确执行了之后才可能有rs("type")
潜水的鱼 2004-03-26
  • 打赏
  • 举报
回复
left("&rs("type")&",5)

----

left(type,5)
dout 2004-03-26
  • 打赏
  • 举报
回复
不好意思没说清楚
type是lsb中字段名
zwonline99 2004-03-26
  • 打赏
  • 举报
回复
sql = "delete from product where left(convert(varchar(40),getdate(),10),5) = left(" & rs("type") & ",5)"
rs.Open sql,conn,1,3
7teeth 2004-03-26
  • 打赏
  • 举报
回复
left("rs("type")",5)
修改成:left("&rs(""type"")&",5)看看
潜水的鱼 2004-03-26
  • 打赏
  • 举报
回复
rs("type")是lsb中一个叫type的字段名

rs.Open "delete from product ....

rs到底是哪个记录集的。。。。。

rs.Open "delete from product where left(convert(varchar(40),getdate(),10),5) = left("rs("type")",5)",conn,1,3


晕~

dout 2004-03-26
  • 打赏
  • 举报
回复
使用
left("rs("type")",5)
修改成:left("&rs("type")&",5)看看


显示的错误类型:
ADODB.Recordset (0x800A0CC1)
在对应所需名称或序数的集合中,未找到项目。

如果说没有type这个项目,但是我用
set rs=server.CreateObject("adodb.recordset")
rs.Open "select * from product where id=1520",conn,1,3
rs("type")=trim("03-26aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
rs.Update
rs.Close
set rs=nothing

返回type的值是03-26aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
jhlgxyxl 2004-03-26
  • 打赏
  • 举报
回复
如果不行的话,用left('"&rs("type")"',5)试一试
stefli 2004-03-26
  • 打赏
  • 举报
回复
response.write left(convert(varchar(40),getdate(),10),5)
response.write left("rs("type")",5)
看看是什么哦》》》


left(rs("type"),5)
注意"
chendongqiang 2004-03-26
  • 打赏
  • 举报
回复
left("rs("type")",5)
修改成:left("&rs("type")&",5)看看

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧