メンバー情報を登録
テーブルを作成したので、全メンバー情報をデータベースに登録します。
目次
スクリプト群[script]
作成するスクリプトは以下の通りです。
メンバー情報を常に最新の情報にするために、以下のようなスクリプトを作成して使用します。
なお、これらのスクリプトはここでは Plone のルートフォルダの下に SQL フォルダを作成して保存することにします。
- member_insert メンバー情報をデータベースに書き込むための Z SQL Method
- member_update メンバー情報を更新するための Z SQL Method
- member_exist 指定された ID の情報がデータベースに存在するか調べる Z SQL Method
- insert_member_data 指定された(または全)メンバーの情報を登録する Python Script
以下に、それぞれの内容を記述します。
メンバー情報登録[insert]
メンバー情報をデータベースに書く込むための Z SQL Method は以下の通りです。
基本的に、引数でわたってきた値をそのまま insert 文で挿入するだけです。
- Id member_insert
- Title メンバー情報をテーブルに登録
- Arguments id fullname nickname email organization workplace telno telext sex blood location hometown day month year hobby homepage skype introduction portrait photo searchable_text
- ソースコード:
insert into member (id, fullname, nickname, email, organization, workplace, telno, telext, sex, blood, location, hometown, day, month, year, hobby, homepage, skype, introduction, portrait, photo, searchable_text) values ( <dtml-sqlvar id type="string">, <dtml-sqlvar fullname type="string">, <dtml-sqlvar nickname type="string">, <dtml-sqlvar email type="string">, <dtml-sqlvar organization type="string">, <dtml-sqlvar workplace type="string">, <dtml-sqlvar telno type="string">, <dtml-sqlvar telext type="string">, <dtml-sqlvar sex type="string">, <dtml-sqlvar blood type="string">, <dtml-sqlvar location type="string">, <dtml-sqlvar hometown type="string">, <dtml-sqlvar day type="string">, <dtml-sqlvar month type="string">, <dtml-sqlvar year type="string">, <dtml-sqlvar hobby type="string">, <dtml-sqlvar homepage type="string">, <dtml-sqlvar skype type="string">, <dtml-sqlvar introduction type="string">, <dtml-sqlvar portrait type="string">, <dtml-sqlvar photo type="string">, <dtml-sqlvar searchable_text type="string"> )
メンバー情報更新[update]
データベースに書き込まれているメンバー情報を更新するための Z SQL Method は以下の通りです。
引数(Arguments)は メンバー情報登録 と同じです。
引数 id が同じデータを更新します。
- Id member_insert
- Title メンバー情報をテーブルに登録
- Arguments id fullname nickname email organization workplace telno telext sex blood location hometown day month year hobby homepage skype introduction portrait photo searchable_text
- ソースコード:
update member set fullname = <dtml-sqlvar fullname type="string">, kananame = <dtml-sqlvar kananame type="string">, nickname = <dtml-sqlvar nickname type="string">, email = <dtml-sqlvar email type="string">, email = <dtml-sqlvar email type="string">, organization = <dtml-sqlvar organization type="string">, workplace = <dtml-sqlvar workplace type="string">, telno = <dtml-sqlvar telno type="string">, telext = <dtml-sqlvar telext type="string">, sex = <dtml-sqlvar sex type="string">, blood = <dtml-sqlvar blood type="string">, location = <dtml-sqlvar location type="string">, hometown = <dtml-sqlvar hometown type="string">, day = <dtml-sqlvar day type="string">, month = <dtml-sqlvar month type="string">, year = <dtml-sqlvar year type="string">, hobby = <dtml-sqlvar hobby type="string">, homepage = <dtml-sqlvar homepage type="string">, skype = <dtml-sqlvar skype type="string">, introduction = <dtml-sqlvar introduction type="string">, portrait = <dtml-sqlvar portrait type="string">, photo = <dtml-sqlvar photo type="string">, searchable_text = <dtml-sqlvar searchable_text type="string"> where id = <dtml-sqlvar id type="string">
メンバー情報の存在[exist]
データベースに、指定された id のメンバー情報が存在するか調べるための Z SQL Method は以下の通りです。
メンバー情報が存在するとその id を返し、存在しない場合は何も返しません。
その結果により、メンバー情報登録 と メンバー情報更新 をスクリプトで使い分けます。
- Id member_exist
- Title メンバー情報が存在するか調べる
- Arguments id
- ソースコード:
select id from member where id = <dtml-sqlvar id type="string">
メンバー情報登録スクリプト[python]
指定された(または全)メンバーの情報を登録(または更新)する Python Script です。
- Id insert_member_data
- Title 指定されたメンバーの情報を登録(または全メンバー登録)
- Parameter List member_id=None
- ソースコード insert_member_data のソース を参照してください。
このスクリプトを実行すると、メンバー情報が最新の状態に更新されるようになります。(削除はされませんが)
次に、メンバー検索 をデータベースから検索するようにします。