现在自己写CFML程序,除非老的代码修改,已经不再使用Tags,基本上是用Script了。
有时候花了很长时间在Google或Stackoverflow上查到的cfscript snippets,是已经用到了项目上,但是没有记录,可能过了有一段时间,再有用到这写cfscript snippets时,绞尽脑汁去回忆之前用在什么地方。
这样,挺浪费时间的,于是有想法在此Post里记录下,用到的时候就直接来这里Copy了。懒人么,就是这样:)
setting
setting enablecfoutputonly="true" requesttimeout="150" showdebugoutput="false";
param
param name="form.role" type="string" default="user";
directory
if(!directoryExists(filesDir)){ directory action="create" directory="#filesDir#"; } if(directoryExists(empFilesDir)){ directory action="delete" directory="#filesDir#" recurse="true"; }
transaction
transaction { try { // do something transaction action="commit"; } catch (any e) { writeDump(e); transaction action="rollback"; } }
query insert
queryObj = new query(); queryObj.setDatasource(request.dsn); queryObj.setName("qryName"); queryObj.setSQL(" INSERT INTO table_name ( name, age, status ) VALUES ( :name, :age, :status ) "); queryObj.addParam(name="name",value="#mid#",cfsqltype="cf_sql_varchar"); queryObj.addParam(name="age",value="#empId#",cfsqltype="cf_sql_integer"); queryObj.addParam(name="status",value="#status#",cfsqltype="cf_sql_varchar"); queryPrefix = queryObj.execute().getPrefix(); newId = queryPrefix.generatedKey; queryObj.clearParams();
query delete
queryObj.setName("deleteUser"); queryObj.setSQL(" DELETE FROM users WHERE id = :id "); queryObj.addParam(name="id",value="#id#",cfsqltype="cf_sql_numeric"); queryObj.execute(); queryObj.clearParams();
query update
queryObj.setName("updateTbl"); queryObj.setSQL(" UPDATE tbl SET page = :page, status = :status modified_date = GETDATE() WHERE id = :id "); queryObj.addParam(name="page",value="#form.page#",cfsqltype="cf_sql_numeric"); queryObj.addParam(name="status",value="#form.status#",cfsqltype="cf_sql_varchar"); queryObj.addParam(name="id",value="#form.id#",cfsqltype="cf_sql_numeric"); queryObj.execute(); queryObj.clearParams();
query select
queryObj.setName("getStuDtl"); queryObj.setSQL(" SELECT * FROM students WHERE id = :stu_id "); queryObj.addParam(name="id",value="#form.stu_id#",cfsqltype="cf_sql_integer"); qryStuDtl = queryObj.execute().getResult(); queryObj.clearParams();
coldfusion query of queries
queryObj.setName("getOldTeachers"); queryObj.setDBType("query"); queryObj.setAttributes(questions=qryAllTeachers); queryObj.setSQL(" SELECT * FROM qryAllTeachers WHERE age > :max_age ORDER BY id "); queryObj.addParam(name="max_age",value="55",cfsqltype="cf_sql_integer"); qryOldTeachers = queryObj.execute().getResult(); queryObj.clearParams();