[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
テクノラティ(technorati)で被リンク検索するといつも、
「申し訳ございません。ただいまシステムが大変混み合っております。
お手数ですがしばらくお待ちになってからもう一度お試し下さい。 」
となる。
そういうもんかね?
さて、
ColdFusionでFlashGridの最後です。
Inser / Delete / Update の処理部分。
====================================
<!---登録・修正処理ここから--->
<cfif IsDefined("form.gridupdate") is True>
<cfoutput>
<cfloop index="i" from="1" to="#ArrayLen(form.newsgrid.rowstatus.action)#"><!---この配列に 'U' 'I' 'D' が入ってる--->
<cfswitch expression="#form.newsgrid.rowstatus.action[i]#">
<cfcase value="U"><!---Updateの場合--->
<cfquery datasource="etc" name="updategrid">
UPDATE #TABLENAME# SET
LNO = #form.newsgrid.lno[i]# , SINBUN = '#form.newsgrid.sinbun[i]#' ,
KEYWORD = '#form.newsgrid.keyword[i]#' , TITLE = '#form.newsgrid.title[i]#'
WHERE SEQ = #FORM.NEWSGRID.SEQ[i]#
</cfquery>
</cfcase>
<cfcase value="D"><!---Deleteの場合--->
<!---deleteじゃなく、フラグ立てる(DEL_F = 1)--->
<!---ひとつのレコードをINSERT-DELETEした場合、SEQが無いので消せないので困るぞ対応--->
<cfif form.newsgrid.original.seq[i] gt 0><cfset seq = form.newsgrid.original.seq[i]><cfelse><cfset seq = 0></cfif>
<cfquery datasource="etc" name="delgrid">
UPDATE #TABLENAME# SET
DEL_F = 1
WHERE SEQ = #SEQ#
</cfquery>
</cfcase>
<cfcase value="I"><!---Insertの場合--->
<!---ナンバー入れなかった場合はORA-が出るのでゼロ入れとく--->
<cfif form.newsgrid.lno[i] is ''><cfset lno = 0><cfelse><cfset lno = form.newsgrid.lno[i]></cfif>
<!---ナンバーに全角文字入れちゃうかも知れないので変換しとく。一応。つーかFlash側でvalidateしたいもんだ。--->
<cfset lno = replacelist(lno,'1,2,3,4,5,6,7,8,9,0','1,2,3,4,5,6,7,8,9,0')>
<cfquery datasource="etc" name="insgrid"><!--- SEQには自動でシーケンス番号入れる。じゃないと修正とか削除がタイヘン! --->
INSERT INTO #TABLENAME#
(HIDUKE , SINBUN , KEYWORD , TITLE , LNO , SEQ , DEL_F)
VALUES
('#FORM.SELECTDAY#' , '#FORM.NEWSGRID.SINBUN[i]#' , '#FORM.NEWSGRID.KEYWORD[i]#' , '#FORM.NEWSGRID.TITLE[i]#' , #lno# , EI_NEWS_SEQ.NEXTVAL , 0)
</cfquery>
</cfcase>
</cfswitch>
</cfloop>
</cfoutput>
</cfif>
<!---登録修正処理ここまで--->
===============================================
ってことで、UPDATEは問題ないですね。そのまんま。
DELETEはホントに消すんじゃなく、フラグにしています。
INSERTはOracleのシーケンスを使って連番をつけています。
あと、<CFGRID>でvalidate(入力チェック)するやり方がわからなかったので、こっちでやってます。
#replacelist( )# は、よく使いますね~。
最終形は以下。
情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。
外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・
FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
01 | 2025/02 | 03 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |