Jake Churchill

… on Flex, ColdFusion, FarCry, and much more …

  • Home
  • About

16

Sep

SQLite Administrator Recommendation

Posted by Jake Churchill  Published in SQL

I’ve been doing a lot of work with SQLite and AIR lately and I recently came across a post from Eric Feminella which has helped me tremendously.

The SQLiteadmin program can be downloaded at the end of this page: SQLite Administrator - International Milestone Beta

Instructions for installing on Windows: Unzip and run :)

This is currently only available for Windows so sorry to all you Mac users (including myself)

no comment

13

Mar

MS SQL IF EXISTS Technique

Posted by Jake Churchill  Published in SQL

I’ll be the first to admit that I’m not the greatest when it comes to database design, optimization, even query code when it comes right down to it. Sure, I can do the standard CRUD things withough a problem but really digging into a database is not my cup of tea. So, when I came up with something actually usable, I had to post it :) So, on with the shameless self-promotion…

So, I am using an IF EXISTS … ELSE block for an INSERT/UPDATE query and was having an issue with the message handler. Yeah, I could have added some additional ColdFusion logic, but who wants to do that??? I thought, It’d be really great if the query would give me back the results of what action was actually taken. So, Here’s the original query:

<cfquery name="addUpdate" datasource="#application.CaseInfoDsn#">
	IF EXISTS (		SELECT 	AreaCode
					FROM 	area_codes
					WHERE 	AreaCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.originalAreaCode#">
			  		OR		AreaCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.AreaCode#">	)
		BEGIN
			UPDATE 	area_codes
			SET		AreaCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.AreaCode)#">,
					State_Region = <cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.State_Region)#">,
					Description = <cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.Description)#">
			WHERE 	AreaCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.originalAreaCode#">
			OR		AreaCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.AreaCode#">

		END
	ELSE
		BEGIN
			INSERT
			INTO 	area_codes
					(
						AreaCode,
						State_Region,
						Description
					)
			VALUES
					(
						<cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.AreaCode)#">,
						<cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.State_Region)#">,
						<cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.Description)#">
					)

		END
</cfquery>

And Here’s my addition:

<cfquery name="addUpdate" datasource="#application.CaseInfoDsn#">
	IF EXISTS (		SELECT 	AreaCode
					FROM 	area_codes
					WHERE 	AreaCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.originalAreaCode#">
			  		OR		AreaCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.AreaCode#">	)
		BEGIN
			UPDATE 	area_codes
			SET		AreaCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.AreaCode)#">,
					State_Region = <cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.State_Region)#">,
					Description = <cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.Description)#">
			WHERE 	AreaCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.originalAreaCode#">
			OR		AreaCode = <cfqueryparam cfsqltype="cf_sql_varchar" value="#form.AreaCode#">

			SELECT	TOP 1 'upd' AS actionTaken
			FROM	area_codes
		END
	ELSE
		BEGIN
			INSERT
			INTO 	area_codes
					(
						AreaCode,
						State_Region,
						Description
					)
			VALUES
					(
						<cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.AreaCode)#">,
						<cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.State_Region)#">,
						<cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(form.Description)#">
					)

			SELECT	TOP 1 'ins' AS actionTaken
			FROM	area_codes
		END
</cfquery>

After each action (Insert or Update) I select a random string with a random alias which I can then use for my message handler. Hopefully someone else out there thinks this is cool because I sure do :)

2 comments

Search

Blog Feed

  • Add blog to any reader
  • Comments Rss
November 2008
M T W T F S S
« Oct    
 12
3456789
10111213141516
17181920212223
24252627282930

Subscribe to Blog

Your email:  
Subscribe Unsubscribe  

Archives

Categories

  • Browsers (2)
  • CFEclipse (1)
  • ColdFusion (5)
  • CSS (8)
  • Farcry (32)
    • Farcry Examples (2)
    • Farcry Users (1)
  • Flash (1)
  • Flex (8)
  • Javascript (4)
  • Life & Fun (3)
  • Microsoft Office (1)
  • Misc (3)
  • Random Posts (1)
  • SQL (2)

Recent Posts

  • Flex Metadata - Default Property Values
  • VPN Network Routing Step-by-Step
  • VPN Connection Route Fix (Windows Vista)
  • VPN Connection Route Fix
  • SQLite Administrator Recommendation

Recent Comments

  • chris on VPN Network Routing Step-by-Step
  • 3of7 on IE6 PNG Transparency Fix
  • chris on VPN Connection Route Fix
  • Jake Churchill on Flex Menu Expanding Over HTML content
  • James on Flex Menu Expanding Over HTML content

Recent Post

  • Flex Metadata - Default Property Values
  • VPN Network Routing Step-by-Step
  • VPN Connection Route Fix (Windows Vista)
  • VPN Connection Route Fix
  • SQLite Administrator Recommendation
  • Flex Graduated Slider
  • Flex Menu Expanding Over HTML content
  • Flex - Modify your default build template
  • Flex calls to Javascript
  • Custom Object Parsing Function

Recent Comments

  • chris in VPN Network Routing Step-by-Step
  • 3of7 in IE6 PNG Transparency Fix
  • chris in VPN Connection Route Fix
  • Jake Churchill in Flex Menu Expanding Over HTML content
  • James in Flex Menu Expanding Over HTML content
  • ron in Flex Datagrid Sorting
  • Jake Churchill » Post Topic &… in Flex calls to Javascript
  • Dan Wilson in Custom Object Parsing Function
  • Jake Churchill in Javascript Popup with graceful fallback
  • Jake Churchill in Farcry Custom Config
© 2008 Jake Churchill is proudly powered by WordPress
Theme designed by Roam2Rome