PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
4204 | 98/12/01 16:59:29 | RE(4):setchages・getchanges関数の作成について 素朴な経験です。 By shimo |
4197 | 98/12/01 15:41:45 | RE(3):ありがとうございました By kari |
4175 | 98/11/30 13:36:47 | RE(2):PB6: PB6:GetChanges/SetChangesでDateTime型カラムが化ける? By shimo |
4107 | 98/12/10 14:18:08 | RE(1):発言者補足 By kari |
4104 | 98/11/24 16:09:18 | PB6: GetChanges/SetChangesでDateTime型カラムが化ける? By kari |
カテゴリ:PowerBuilderの不具合?
日付:1998年11月24日 16:09 発信者:kari
題名:PB6: GetChanges/SetChangesでDateTime型カラムが化ける?
3階層システムの開発をしており、標記のエラーで悩んでいます。
データウィンドウ(DW)?データストア(DS)をGetChanges/SetChanges関数
により同期したとき、日付型のカラムのデータが正しくセットされません。
#\"60/??/?? 00:00:00\"という値になっている。
また各カラムのステータス情報も正しくセットされません。
#変更していないカラムもDataModified!になる。
このまま更新しようとすると、DBMSがエラーを返します。
#「DATE型に正しく変換されません」。ま、当たり前ですね。
処理内容の詳細は以下です。
クライアント:DWを含むウィンドウ
アプリサーバ:DSをインスタンス変数として保持するリモートオブジェクト
[データ更新]
1.クライアントからリモートオブジェクトの更新処理呼び出し
#GetChanges関数によりDWの変更内容を
Blob型の変数に格納し、引数として参照渡し。
2.リモートオブジェクトで更新処理(1)
#引数のBlob変数とSetChanges関数により変更内容をDSに反映。
3.リモートオブジェクトで更新処理(2)
#Update関数によりDSを更新。
このとき、2は関数の戻り値で判断する限りは正常に終了しています。
ただし、この時点でGetItem関数を使用してDS上のDatetime型のカラムの
値を参照したところ、前述の通り\"60/??/?? 00:00:00\"という値になっています。
このままDBMSに更新しに行くと、データの変換エラーになります。
PowerBuilderのバグなんじゃないかと疑い始めてます。
「私はちゃんとできたぞ」等の情報でも構いません。
なにかご存知の方がいらっしゃいましたらよろしくお願いします。
#長文、大変失礼いたしました。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Sybase SQL Anywhere Client
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Sybase SQL Anywhere Standalone
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.