faqDAO

Package: machii_info_sample.model.faq
I abstract data access for FAQs
Method Summary
public faqdao init(string dsn)
public void create()

CRUD method

public void delete(faq faq)

CRUD method

public void read(faq faq, numeric faqID)

CRUD method

public void update(faq faq)

CRUD method

Method Detail
create

public void create( )

CRUD method

Parameters:

Code:

	<cffunction name="create" returntype="void" output="false" hint="CRUD method">
		<cfabort showerror="faqDAO.create - This Method is Abstract and needs to be overridden">
	</cffunction> 

delete

public void delete( faq faq )

CRUD method

Parameters:
faq faq

Code:

	<cffunction name="delete" returntype="void" output="false" hint="CRUD method">
		<cfargument name="faq" type="faq" required="true" />		
		<cfset faqDelete = 0 >
		<cfquery name="faqDelete" datasource="#variables.dsn#" >
			DELETE FROM faqs	
			WHERE	faqID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.faq.getFaqID()#" >
		</cfquery> 		
	</cffunction> 

init

public faqdao init( string dsn )

Parameters:
string dsn

Code:

	<cffunction name="init" access="public" returntype="machii_info_sample.model.faq.faqdao" output="false" >		
		<cfargument name="dsn" type="string" required="true" />
		<cfset variables.dsn = arguments.dsn />
		<cfreturn this />
	</cffunction> 

read

public void read( faq faq, numeric faqID )

CRUD method

Parameters:
faq faq
numeric faqID

Code:

	<cffunction name="read" access="public" returntype="void" output="false"  hint="CRUD method">
		<cfargument name="faq" type="machii_info_sample.model.faq.faq" required="yes" displayname="read" hint="I am the faq object into which data is read." />
		<cfargument name="faqID" type="numeric" required="true" hint="I am the ID of the database record to read." />		
		<cfset var faqSelect = 0 />
		<cfquery name="faqSelect" datasource="#variables.dsn#">
			SELECT * 
			FROM	faqs 
			WHERE	faqID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.faqID#" >
		</cfquery>			
		<cfif faqSelect.recordCount >
			<cfscript>
				arguments.faq.setFaqid(faqSelect.faqid);
				arguments.faq.setQuestion(faqSelect.question);
				arguments.faq.setAnswer(faqSelect.answer);
				arguments.faq.setCategoryid(faqSelect.categoryID);			
				arguments.faq.setDatePublished(faqSelect.datePublished);
				arguments.faq.setCreatedByUserID(faqSelect.createdByUserID);
			</cfscript>
		<cfelse>
			<cfthrow message="faqID #arguments.faqID# not found" type="faq" detail="" errorcode="faq.faqNotFound" extendedinfo="" >
		</cfif>	
						
	</cffunction> 

update

public void update( faq faq )

CRUD method

Parameters:
faq faq

Code:

	<cffunction name="update" returntype="void" output="false" hint="CRUD method">
		<cfargument name="faq" type="faq" required="true" />	
		<cfset faqUpdate = 0 >
		<cfquery name="faqUpdate" datasource="#variables.dsn#" >
			UPDATE faqs	
			SET		question = '#trim(arguments.faq.getQuestion())#',
					answer = '#trim(arguments.faq.getAnswer())#',
					<cfif isDate(arguments.faq.getDatePublished()) >
					datePublished = #createODBCDate(arguments.faq.getDatePublished())#,
					<cfelse>
					datePublished = NULL,
					</cfif>
					categoryID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.faq.getCategoryID()#" >
			WHERE	faqID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.faq.getFaqID()#" >
		</cfquery> 		
	</cffunction>