发新话题
打印

[转载]ColdFusion中的RecordSet Component

[转载]ColdFusion中的RecordSet Component

信息来源:Wayne_Deng的专栏

CF中对数据的操作都是通过CFQuery来进行的,纯粹从便利的角度上来讲远远比不上asp中的recordset object。不过在coldfusion MX里面也有对象了嘛,我们也来自己封装一个简单的recordset Component!

下面是应用示例,熟悉recordset object的不用多说也明白吧?操作起来确实方便。

以下是代码:

rs=createObject("component","CFNews.model.db.recordset");
rs.getByTable("article","article_source"); //打开recordsource为article_source中名为article的table

writeoutput(rs.getField("title") & "
");
rs.MoveNext();
writeoutput(rs.getField("title") & "
");
rs.MoveLast();
writeoutput(rs.getField("title") & "
");
//添加一个新的记录
rs.addNew();
rs.setField("title","insert test");
rs.setField("content","This is a test");
rs.setField("artileID",8);
rs.setField("img","");
rs.update();

//修改第2个记录
rs.rownum=2;
rs.setField("title","update test");
rs.update();

下面是recordset.cfc

CFNews.model.db.RecordSet
Component RecordSet (Recordset class)

hierarchy: WEB-INF.cftags.component
CFNews.model.db.RecordSet
path: C:\Inetpub\wwwroot\CFNews\model\db\RecordSet.cfc
properties:
methods: addNew, delete, edit, getBySQL, getByTable, getField, moveFirst, moveLast, moveNext, movePrev, setField, update
* - private method

addNew
public addNew ( )

Output: supressed

delete
public delete ( )

Output: supressed

edit
public edit ( )

Output: supressed

getBySQL
public getBySQL ( required string sql, required string recordSource )

get a Query object by a sql sentence

Output: supressed
Parameters:
sql: string, required, sql
recordSource: string, required, recordSource

getByTable
public getByTable ( required string tableName, required string recordSource )

get a Query object by a table name

Output: supressed
Parameters:
tableName: string, required, tableName
recordSource: string, required, recordSource

getField
public getField ( required string fieldName )

get field value by field name

Output: supressed
Parameters:
fieldName: string, required, fieldName

moveFirst
public moveFirst ( )

Output: supressed

moveLast
public moveLast ( )

Output: supressed

moveNext
public moveNext ( )

Output: supressed

movePrev
public movePrev ( )

Output: supressed

setField
public setField ( required string fieldName, required string value, string fieldType )

Output: supressed
Parameters:
fieldName: string, required, fieldName
value: string, required, value
fieldType: string, optional, fieldType

update
public update ( string IDName )

Output: supressed
Parameters:
IDName: string, optional, IDName

以下是代码:









select * from #this.tableName#











#PreserveSingleQuotes(this.sql)#















StructInsert(Evaluate("this.fields.#arguments.fieldName#"),"value",arguments.value,"yes");




































delete from #this.tableName#
where

#arguments.IDName#=

#arguments.IDName#=









insert into
#this.tableName# (#fieldsList#)
values(



#comma#
)





update
#this.tableName#
set



#comma##f#=

where

#arguments.IDName#=

#arguments.IDName#=




人情如冰六月寒,花做一份艳,为谁笑人间? 如果任何人发现我转载的有图像的文章中图像失效或者文章有问题,请及时短消息通知我。先谢谢。::)) coup de foudre

TOP

发新话题