现在自己写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();