主题:  请问ADO.Record的DeleteRecord怎么调用?

FlowJZH

职务:普通成员
等级:1
金币:0.0
发贴:22
#12002/12/7 0:22:47
小生目前正在编写asp论坛,参照动网论坛的做法。发现其用的是ADODB.Stream的SaveToFile方法实现的上传功能,优点是避免了FSO的使用。但是有个缺点就是删除帖子以后无法把已经上传了的图片一同删除时间长了导致论坛目录里有很多没有用的图片。

小生考虑用ADO的Record对象实现删除的功能,代码如下

<%
Dim recNode
Set recNode = Server.CreateObject ("ADODB.Record")
recNode.Open "", "URL=http://localhost/mini4wd/image/UploadPic",adModeReadWrite
'上面的地址是论坛实际存放图片的目录
recNode.DeleteRecord "20021251047316386.jpg"
'直接删除要删除的图片
recNode.Close
Set recNode = Nothing
%>


运行结果是我的Script Debugger 给出“服务器无法完成操作”,指针停留在“recNode.DeleteRecord"上。

*以上代码参照的是worx的Professional ASP 3.0 Programing,但是上面没有提到DeleteRecord的用法,于是查了MSDN,但它的Remark里面似乎也就这么些东西了,真不知道哪里出错了,是否是服务器权限方面?



5D荣誉版主

职务:普通成员
等级:1
金币:10.0
发贴:271
#22002/12/17 17:38:20
adodb.recordset是用来干嘛的么?原来删除记录也可以用到删除图片上的哦,好像是头次听到呵.
这个是msdn上的:说的很清楚了
Deletes the current record from the Recordset.

Syntax

object.deleteRecord()

Parameters

object

A Recordset script object.



FlowJZH

职务:普通成员
等级:1
金币:0.0
发贴:22
#32002/12/17 18:08:33
请楼上的大侠注意,小生代码里创建的是Record对象,而不是RecordSet。
Set recNode = Server.CreateObject ("ADODB.Record")

ADO 2.5引入Record对象是对原来的RecordSet的补充,因为很多数据库是不能以关系的形式来组织的,比如一个数形的目录,里面的元素格式不统一,比如有的是JPG,有的是HTM,这样就可以用ADODB.Record来访问。具体细节问题请参见MSDN的ADODB.Record对象部分。对于DeleteRecord这个方法,MSDN在列出的时候有一个括号里面写的是Record,这个才是这里要讨论的问题。



5D荣誉版主

职务:普通成员
等级:1
金币:10.0
发贴:271
#42002/12/20 17:56:34
哦,sorry呵,看错了.这个组件我也没用过,但查了些资料,也许这个你没看到过,希望有些帮助呵.
Const adModeReadWrite = 3
Dim strDataurl, strParentURL
Dim oRec, oCon

strDataurl = request.querystring("dataurl")

Set oRec = Server.CreateObject("ADODB.Record")
Set oCon = Server.CreateObject("ADODB.Connection")

oCon.Provider = "ExOledb.Datasource"
oCon.ConnectionString = strDataurl
oCon.Open

oRec.Open strDataurl, oCon ,adModeReadWrite
strParentURL = oRec.Fields("DAV:parentname").value
oRec.deleteRecord
Set oRec = Nothing

response.redirect strParentURL & "?Cmd=Contents"
看了一下说明,其中dataurl变量是WSS自动传给该页面的(如果有定义的话),