下面我们讲解一下cfupdate这个标签。单击图标 ,会出现如下的界面:

各位可能看到cfupdate的窗口设置和cfinsert的很类似,是的,这两个Tag都是对于Form表单进行专属操作的标签。对于cfupdate的使用方法,作者这里不想多费笔墨,它的使用和cfinsert几乎是一样的,同样,我们用一段程序来看看cfupdate的作用。
程序使用了官方的一段脚本
< !--- 使用cfupdate更新数据库 --- >
< !--- 检测course_ID这个值,如果存在则更新数据记录--- >
< cfif IsDefined("form.Course_ID") >
< !--- 检测Course_ID是不是一个数字 --- >
< cfif Not IsNumeric(form.Course_ID) >
< cfabort >
< /cfif >
< !---做更新--- >
< cfupdate datasource="cfsnippets"
tablename="Courses"
formfields="Descript, Course_ID" >
< /cfif >
< !--- 使用一个query来查看通过url传过来的course_ID是否在对应的记录上做了更新,各位开发人员可以使用这种查询的技巧来验证数据库是否更新,而不用打开数据库去查看--- >
< 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传递过来的参数,以及对传递参数course_ID所在的数据库的记录进行更新的操作。这个程序非常精辟,希望各位开发者能够很好的研究。其中,第一次访问不带参数而显示一个记录级的方法都非常的实用,可以用在实际的开发当中。在这里,作者从本人的开发经验再次提出一个建议,建议大家在实际的开发当中对于经常操作数据库的程序编写时,能不用cfinsert和cfupdate就不用,因为这两个tag虽然方便,但是是牺牲了灵活性和效能来取得的。希望大家使用cfquery来进行数据库的查询,插入和更新。
|