中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術文檔 > 網(wǎng)絡編程 > MacromediaColdFusionMX開發(fā)者
Coldfusion MX技巧精華收集(1) 回到列表 ASP.NET 中的隨機密碼生成
 MacromediaColdFusionMX開發(fā)者

作者:MJking 時間: 2003-04-27 文檔類型: 來自:藍色理想

第 1 頁 MacromediaColdFusionMX開發(fā)者
第 2 頁 第二期:基礎管理操作以及入門程序
第 3 頁 第三期:ColdFusionMX編程入門
第 4 頁 第四期:ColdFusionMX Basic Tag編程
第 5 頁 第五期:ColdFusionMX中的循環(huán)

第四期:ColdFusionMX Basic Tag編程

序言

      任何一種程序再簡單也要具備一定的邏輯和算法,Coldfusion也不例外。如果只是靠簡單的標簽的堆砌,是無法真正實現(xiàn)企業(yè)商業(yè)邏輯的。而且,我在這里非?隙ǖ奶岢鲆稽c,就是簡單絕對不等于功能弱小。目前,網(wǎng)絡技術發(fā)展到了一個注重表現(xiàn)的時代,就是每一個開發(fā)出來的網(wǎng)絡應用,要在實現(xiàn)邏輯的同時,具備讓客戶有豐富的用戶體驗是另一個追求的目標。Flash+Flashremoting+cf serverside script就是一種極具體驗的開發(fā)手段。而對于開發(fā)工具,眾多的開發(fā)廠商更是在工具的易用性上做足了文章,微軟vs.net開發(fā)平臺的完整統(tǒng)一性,Oracle9i JDeveloper開發(fā)j2ee程序的wizard方式,Macromedia DreamweaverMX眾多的服務器端的腳本語言的支持,都是在工具易用性上的一種體現(xiàn)。我們今天要給大家講解的就是簡單易用的coldfusion loop。通過cf中不同的循環(huán),能夠?qū)崿F(xiàn)很多在cf中編程的邏輯。

      這里的序言還要補充說明一點,作者已經(jīng)找到了操作access數(shù)據(jù)庫時的中文完全解決的方法,如果哪位開發(fā)者有興趣,請去這里查看:


第一部分 Basic tag編程深入

上一期我們講了操作數(shù)據(jù)庫的第一個重要的標簽,cfquery。但是我們只是講解了如何使用cfquery進行數(shù)據(jù)庫的查詢,現(xiàn)在我們深入講解一下cfquery的作用,然后在來講解另外兩個操作數(shù)據(jù)庫的標簽cfinsertcfupdate。

先來看看cfsnippets這個數(shù)據(jù)庫中employees這個表的構(gòu)造。

隨著教程的深入,代碼的編寫采用verdana字體的8號,并且使用籃色,請學習者注意。

我們可以使用cfquery來做數(shù)據(jù)的插入,編寫的形式非常的簡單,代碼的方式如下:

<CFTRANSACTION>

<CFQUERY NAME="test" DATASOURCE="cfsnippets">

Insert Into Employees(FirstName,lastname,email,phone,department)

Values('Mj','king','mjking@263.net','1234567','Technical')

</CFQUERY>

<CFQUERY NAME="test" DATASOURCE="cfsnippets">

Select MAX(Emp_id) as number_id

From Employees

</CFQUERY>

</CFTRANSACTION>

插入數(shù)據(jù)成功!

你新插入的id是:

<cfoutput query="test">#number_id#</cfoutput>

下面我們來講解一下上面的這一段代碼,其中最主要的部分是應用了兩個cfquery的標簽的組合,實現(xiàn)了數(shù)據(jù)插入和最新插入的員工id的查詢。其中第一個cfquery插入了一組記錄到Employees這個table里去,除了沒有處理emp_id這個默認的員工id的自增主鍵之外,其他的幾個字段都對應給予了插入。在插入之后,第二個cfquery做的是將剛剛插入的記錄的emp_id給查詢出來。比如我們要開發(fā)一個內(nèi)部網(wǎng)的員工模塊,有可能在做了新員工的輸入之后,馬上系統(tǒng)要告知該員工的工號,就可以采用這種方式。但是會有一個問題,如果你在請求serverinsert的同時,有另外一個人正好剛剛做完insert,正要查詢出他的id,這樣有可能查出的id是你的,因為這時候,系統(tǒng)有可能響應給對方你剛做完insert的記錄的emp_id的值。為了避免這樣的現(xiàn)象發(fā)現(xiàn),我們在兩個cfquery之外使用了Cftransaction這個標簽。

      Cftransaction是一個協(xié)調(diào)事務處理的標簽,它把處理不同事務的作為一個整體,如果其中的某一個操作不成功,那么所有的操作都會被服務器還原(就是roll back),有這樣的功能真的是太好了。

      另外,使用cfquery還可以進行數(shù)據(jù)庫的update,讓我們來看下面的代碼:

<Cfparam name="URL.number_id" default="20">

<Cfquery name="test" datasource="cfsnippets">

       Select emp_id

       From Employees

       Where emp_id=#URL.number_id#

</Cfquery>

<cfoutput>#test.emp_id#</cfoutput>

<cfoutput>#test.recordcount#</cfoutput>

<Cfif test.RecordCount EQ 0>

              沒有這個員工記錄

              <Cfabort>

</Cfif>

<!--- 進行數(shù)據(jù)庫更新 --->

<Cfquery name="test" datasource="cfsnippets">

       Update Employees

       Set FirstName='Zerlot',

             LastName='Ma',

                email='zerlot.ma@hdtworld.com',

                phone='7654321'

                department='market'

       Where emp_id=#URL.number_id#

</Cfquery>

<cfoutput>更新成功!</cfoutput>

好,我們使用cfquery做成功了insertupdate,那么下面我們開始講解cfinsertcfupdate這兩個標簽。

在開始講解之前,我們將簡要說明一下access操作中文的問題,目前從access數(shù)據(jù)庫中把中文顯示出來還沒有解決方案,至少到20027月還沒有。但是,進行access數(shù)據(jù)庫的插入已經(jīng)可以解決了,解決方式如下:

在你的應用根目錄下建立一個application.cfm文件,加入下面這行代碼:

<cfcontent type="text/html; charset=gb2312">

在你的每一個cfm頁面模板的開頭加入下面代碼:

<cfcontent type="text/html; charset=gb2312">

<cfset setEncoding("URL", "gb2312")>

<cfset setEncoding("Form", "gb2312")>

然后使用form表單或者cfquery進行插入中文就沒有問題了。但是從access中查詢并顯示某一條中文記錄還是有問題,目前作者還沒有確切的方法。所以作者本人的教程使用access是出于簡單,但是如果是開發(fā)者使用cfmx來開發(fā)應用的話,勸各位使用sqlserveroracle的企業(yè)數(shù)據(jù)庫,這些數(shù)據(jù)庫都沒有什么問題。

Cfinsertcfupdatecoldfusion中兩個常用的tag,通過點擊DreamweaverMXCFbasic的兩個圖標來操作它們。

點擊 圖標,將執(zhí)行cfinsert這個標簽的設定功能。點擊后的窗口如下所示:

以上經(jīng)常用到的屬性是datasourcetablenameFormfields三個屬性,其中datasource是你在coldfusion administrator數(shù)據(jù)源設定中設置好的名稱,tablename是要更新的表,Formfields是和數(shù)據(jù)庫表中字段對應名稱一致的form控件名稱(注意必須一致才行)。我們看下面的列子:

<!--- 下面的代碼使用了cfinsert更新了數(shù)據(jù)表格,沒有使用cfquery--->

<!--- 如果表單有提交的動作,那么開始處理cfinsert動作--->

<cfif IsDefined ("form.posted")>

<cfinsert dataSource = "cfsnippets"

tableName = "Comments"

formFields = "Email,FromUser,Subject,MessText,Posted">

<h3><I>你的記錄已經(jīng)被提交。</i></h3>

</cfif>

<!--- 使用cfquery顯示插入數(shù)據(jù) --->

<cfquery name = "GetComments" dataSource = "cfsnippets">

SELECT

CommentID, EMail, FromUser, Subject, CommtType, MessText, Posted, Processed

FROM

Comments

</cfquery>

<html>

<head></head>

<h3>cfinsert</h3>

<!--- 顯示數(shù)據(jù) --->

<table>

<tr>

<td>From User</td><td>Subject</td><td>Comment Type</td>

<td>Message</td><td>Date Posted</td>

</tr>

<cfoutput query = "GetComments">

<tr>

<td valign = top><a href = "mailto:#Email#">#FromUser#</A></td>

<td valign = top>#Subject#</td>

<td valign = top>#CommtType#</td>

<td valign = top><font size = "-2">#Left(MessText, 125)#</font></td>

<td valign = top>#Posted#</td>

</tr>

</cfoutput>

</table>

<p>Next, we’ll offer the opportunity to enter a comment:

<!---輸入表單--->

<form action = "cfinsert.cfm" method = "post">

<pre>

Email: <input type = "Text" name = "email">

From: <input type = "Text" name = "fromUser">

Subject:<input type = "Text" name = "subject">

Message:<textarea name = "MessText" COLS = "40" ROWS = "6"></textarea>

Date Posted: <cfoutput>#DateFormat(Now())#</cfoutput>

<!---動態(tài)顯示時間--->

<input type = "hidden"

name = "posted" value = "<cfoutput>#Now()#</cfoutput>">

</pre>

<input type = "Submit"

name = "" value = "insert my comment">

</form>

那么我們執(zhí)行的結(jié)果可以看到瀏覽器顯示了我們剛剛輸入的信息,這里作者就不給出截圖,目的是讓大家自己去執(zhí)行,自己去查看結(jié)果,注意,本數(shù)據(jù)庫為access,應用程序不支持中文,如果各位想測試中文,可以構(gòu)建自己的應用程序來測試中文(使用sqlserver),只須在每個頁面的開頭中加入如下代碼即可:

<cfprocessingdirective pageencoding="gb2312">

<cfcontent type="text/html; charset=gb2312">

<cfset setEncoding("URL", "gb2312")>

<cfset setEncoding("Form", "gb2312")>

Cfinsert我們講解完了,那么作為作者本人,不是非常推薦使用Cfinsert,如果要做大量的數(shù)據(jù)庫的插入,我希望各位開發(fā)人員能夠靈活的使用cfquery而不是cfinsert。下面我們講解一下cfupdate這個標簽。單擊 圖標,會出現(xiàn)如下的界面:

各位可能看到cfupdate的窗口設置和cfinsert的很類似,是的,這兩個Tag都是對于Form表單進行專屬操作的標簽。對于cfupdate的使用方法,作者這里不想多費筆墨,它的使用和cfinsert幾乎是一樣的,同樣,我們用一段程序來看看cfupdate的作用。

程序使用了官方的一段腳本

<!--- 使用cfupdate更新數(shù)據(jù)庫 --->

<!--- 檢測course_ID這個值,如果存在則更新數(shù)據(jù)記錄--->

<cfif IsDefined("form.Course_ID")>

<!--- 檢測Course_ID是不是一個數(shù)字 --->

<cfif Not IsNumeric(form.Course_ID)>

<cfabort>

</cfif>

<!---做更新--->

<cfupdate datasource="cfsnippets"

tablename="Courses"

formfields="Descript, Course_ID">

</cfif>

<!--- 使用一個query來查看通過url傳過來的course_ID是否在對應的記錄上做了更新,各位開發(fā)人員可以使用這種查詢的技巧來驗證數(shù)據(jù)庫是否更新,而不用打開數(shù)據(jù)庫去查看--->

<cfquery name="GetCourseInfo" DATASOURCE="cfsnippets">

SELECT Number, Course_ID, Descript

FROM Courses

<cfif IsDefined("url.Course_ID")>

WHERE Course_ID = #Trim(url.Course_ID)#

</cfif>

ORDER by Number

</cfquery>

<html>

<head>

<title>CFUPDATE </title>

</head>

<body>

<H3>cfupdate更新實例</H3>

<cfif IsDefined("url.Course_ID")>

課程號:<cfoutput>#GetCourseInfo.Number#</cfoutput>

<form method="post" action="cfupdate.cfm">

<P>課程描述<BR>

<textarea name="Descript" cols="40" rows="5">

<cfoutput>#Trim(GetCourseInfo.Descript)#</cfoutput>

</textarea><br>

<input type="Hidden" NAME="Course_ID"

value="<cfoutput>#Trim(GetCourseInfo.Course_ID)#</cfoutput>">

<p><input type="Submit" value="Click to Update">

</form>

<cfelse>

<cftable query="GetCourseInfo" htmltable colheaders>

<cfcol text="<a href='cfupdate.cfm?Course_ID=#Trim(Course_ID)#'>Edit Me</a>"

width=10 header="Edit<br>this Entry">

<cfcol text="#Trim(Number)#" WIDTH="4" HEADER="Course Number">

<cfcol text="#Trim(Descript)#" WIDTH=100 HEADER="Course Description">

</cftable>

</cfif>

</body>

</html>

上面這段程序是官方的一段標準的使用cfupdate的代碼,其中包括了檢測從url傳遞過來的參數(shù),以及對傳遞參數(shù)course_ID所在的數(shù)據(jù)庫的記錄進行更新的操作。這個程序非常精辟,希望各位開發(fā)者能夠很好的研究。其中,第一次訪問不帶參數(shù)而顯示一個記錄級的方法都非常的實用,可以用在實際的開發(fā)當中。在這里,作者從本人的開發(fā)經(jīng)驗再次提出一個建議,建議大家在實際的開發(fā)當中對于經(jīng)常操作數(shù)據(jù)庫的程序編寫時,能不用cfinsertcfupdate就不用,因為這兩個tag雖然方便,但是是犧牲了靈活性和效能來取得的。希望大家使用cfquery來進行數(shù)據(jù)庫的查詢,插入和更新。

好了,下面我們輕松一下,講解兩個非常容易看懂的tag,這兩個tag在大家進行開發(fā)的過程中使用的頻率也是很高的。一個是cfinclude,另一個是cflocation

單擊 中的左邊的圖標,就會使用coldfusion中的cfinclude標簽,并彈出如下的窗口:

這個標簽就是用來在coldfusion的某個頁面中反復使用其他的頁面模板,它與asp中的include的作用幾乎是一樣的。比如在coldfusion要嵌入一個站點統(tǒng)一標準的頁眉和頁腳,一個是header.cfm,另一個是footer.cfm,那么,就可以使用cfinclude來實現(xiàn)。

<cfinclude template="header.cfm">

使用cfinclude也有缺點,隨著企業(yè)應用的不斷發(fā)展,業(yè)務邏輯和表現(xiàn)兩者需要進行分離的要求越來越高,那么我們就需要進行組件的設計,這樣,完全混合邏輯和表現(xiàn)的cfinclude標簽就不是很適用了,但是目前的coldfusionMx有了它最新的cfc(coldfusion components),使用這個方法可以達到邏輯與表現(xiàn)的抽離。但是cfinclude的優(yōu)點也是具有的,就是同cf component一樣可以一次性的修改頁面代碼來完成site中的所有引用,另外,cfinclude還可以包含很多的applicationsession的方法。

單擊上面兩個圖標中右邊的圖標,就是使用coldfusion的另外一個tagcflocation。這個標簽起到了一個頁面跳轉(zhuǎn)的作用,它經(jīng)常與cfabort使用。比如我們做一個用戶驗證的程序,當進行一些判斷之后,發(fā)現(xiàn)用戶并不擁有權限,那么就需要把他自動送回到首頁或者某個頁面,這個時候,我們就要使用cflocation這個標簽,例如:

<cfif form.registername EQ “”>

<cflocation url="http://www.macromedia.com" addtoken="No">

<cfabort>

</cfif>

那么我們在DreamweaverMX使用cflocation的時候,看到的設置窗口如下:

最后,我們要進行一下coldfusionMx中的函數(shù)說明,coldfusionMX中的函數(shù)分為15類,包括Array, Authentication,Conversion,Date/Time,Decision,Display and Formatting,Dynamic Evaluation,International,List,Mathematical,Query,String,Structure,System,XML,Other十五個種類。這些分類包括了256coldfusion函數(shù),應該可以滿足開發(fā)應用的需求,而且各位也還可以自己組合定義自己的functioncomponent來使用,這樣就可以滿足開發(fā)的需要了。作者在這里不介紹Function的單獨應用了,以后會在教程中隨著程序說明一些常用的funtions。如果開發(fā)者在使用上有困難或者不明白使用的方法,可以去這個地方查看Functions的應用和示例:

http://examples.macromedia.com/coldfusion/examples/index.cfm

好了,這期的教程就講到這里,下一期,我們講解coldfusion中重要的cf Flow也就是循環(huán)。下期見!!


第二部分 論壇coldfusion探討之二

l          Flash Remoting 實現(xiàn) FLashMX ColdFusionMX 的通信

http://www.flashempire.net/showthread.php?s=22c923d2c64f6f43642b0b7dd40ae2ab&threadid=124099

l         你怎么得到關于官方tag的標準用例代碼

http://www.flashempire.net/showthread.php?s=22c923d2c64f6f43642b0b7dd40ae2ab&threadid=121883

l         asp.net還是cfmx?

http://www.flashempire.net/showthread.php?s=22c923d2c64f6f43642b0b7dd40ae2ab&threadid=123532

l         寵物商店部署有感

http://www.flashempire.net/showthread.php?s=22c923d2c64f6f43642b0b7dd40ae2ab&threadid=122125

l         Macromedia 尋求 solution partner

http://www.flashempire.net/showthread.php?s=22c923d2c64f6f43642b0b7dd40ae2ab&threadid=123151


第三部分 資源列表

相關于Macromedia MX系列知識的了解請訪問:

http://www.macromedia.com

http://www.macromediachina.com

http://www.flashempire.net

http://www.95time.cn

關于Macromedia 產(chǎn)品策略分析中文文章請訪問:

http://61.156.17.126/efe_news/newsread.php?id=123

下載Macromedia MX系列產(chǎn)品請訪問:

http://www.macromedia.com/software/trial_download/

* Macromedia ColdFusion MXJRun4可以免費在官方網(wǎng)站得到開發(fā)者版本,同商業(yè)版本相比,只是限制了開發(fā)者版本的ip訪問限制,服務器高級報表工具,服務器均衡負載功能等一些高級功能的使用。

注釋:

JRun4ColdFusion MX、Flash MX、Dreamweaver MX、Fireworks MX都是Macromedia公司的注冊產(chǎn)品。

出處:藍色理想
責任編輯:藍色

上一頁 第三期:ColdFusionMX編程入門 下一頁 第五期:ColdFusionMX中的循環(huán)

◎進入論壇網(wǎng)絡編程版塊參加討論

作者文章 更多作者文章
cfquery簡單的偵測效率方法
Flash的Debug程序AdminTool
ColdFusionMX技術課程第三期
ColdFusionMX技術課程第二期
ColdFusionMX技術課程第一期
關鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設計比賽 網(wǎng)頁制作 web標準 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大福“敬•自然”設計大賽開啟
國際體驗設計大會7月將在京舉行
中國國防科技信息中心標志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻,送禮標配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:4/51個記錄/頁 轉(zhuǎn)到 頁 共5個記錄

藍色理想版權申明:除部分特別聲明不要轉(zhuǎn)載,或者授權我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯(lián)系,版權歸原作者所有,文章若有侵犯作者版權,請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關法律法規(guī)
·承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
·本站評論管理人員有權保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2