常用的cfscript snippets

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