PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
19292 03/04/15 18:16:26 RE(1):PB6.5: DWでの更新方法について By paku
19290 03/04/15 16:54:32 PB6.5: DWでの更新方法について By i

カテゴリ:データウィンドウ
日付:2003年04月15日 18:16 発信者:paku
題名:RE(1):PB6.5: DWでの更新方法について

iさん、こんばんは。

>こんにちは、iです。
>早速ですが、SetItemStatusについて教えてください。

>あるテーブルに3件のデータがあったとき、
>-------------------
>コード、名称
>-------------------
>01、田中
>02、佐藤
>13、佐々木
>-------------------

>このテーブルを画面に貼り付けたDWでコードが00?09までの条件で表示させました。
>-------------------
>コード、名称
>-------------------
>01、田中
>02、佐々木
>-------------------

>そのあと、最終行に1行追加(InsertRow(0))し、13とコードを手で入力し、名称を修正しました。
>-------------------
>コード、名称
>-------------------
>01、田中
>02、佐藤
>13、木村
>-------------------

>この状態でDWをUpdateすると勿論、コード=13のデータが既に登録されているので一意制約違反で怒られます。

>これを回避する方法として、SetItemStatus関数を使用し、追加行のPrimary!のStatusを
>DataModified!にして、もう一度、Updateかけてみたのですが、やはり、怒られてしまいました。

>このような操作をしたい場合、どのようにDWを制御すればよいのでしょうか?
>因みに、DWの更新特性は、キーカラムと更新可能カラムと、DELETE文発行後にINSERTです。

>どうか、宜しくお願いします。


dwの抽出条件では条件にコード00?09と指定せず、表示時にFilterをかけるなんてどうでしょう?
ItemChangeイベントでdwにチェックをかけるなど
または、ItemChangeイベントで入力されたコードとその他のキー項目でSQL文を発行してDBの件数をとって
チェックするとかなんてどうでしょうか?


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows 2000
DBMS Oracle SQL*Net 8
Browser InternetExplorer5.X

Server SoftWare

OS Windows NT 4.0
DBMS Oracle 8.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.