Q10:数値入力フィールドに設定しようとしましたが、既に入っているデータが更新されません。
Q10-1:
GUIの画面に15ほどの数値カウンターと2つの数値入力フィールドを設置、ひとつの数値入力フィールドには10の数値カウンターの合計値を計算、設定、もうひとつの数値入力フィールドには残りの数値カウンターの合計値を設定するようにしてあり、数値カウンターと数値入力フィールドを他の情報とともに、MySQLへストアする構造にしています。
ところが、Keyのフィールドを基にデータ読み取りの際にひとつの数値入力フィールドの値はMySQLからは読み取れていますが、読み取ったデータを読み取りテーブルを経由して数値入力フィールドに設定しようとしましたが、既に入っているデータが更新されません。他の数値カウンター、もうひとつの数値入力フィールドは更新されます。
仕方なく、現在は更新されない数値入力フィールドは読み取りの際初期値(0を設定)していますが、この数値入力フィールドの取り扱いには何か注意が必要なのでしょうか?
メソッドは「数値を設定する(Object)」で引数0はメソッド処理結果、指定セルの値を取得 $9$k!J%F!<%V%k)です。
デバッガーでステップごとにトレースしても正しいデータ(数値)がテーブルから読み取られており、その後で元の値に再度戻すステップは見つかっていません。何かヒントがあればよろしくお願いいたします。
A10-1:
メソッド「数値を設定する(object)」をお使いの場合、以下の可能性があります。
・受け付けられない値(数字ではない文字列など)を設定すると、エラーは出ませんが、確定されませんので表示は変わりません。
・数値を表す値であってもデータ型が違うと、エラーは出ませんが、確定されませんので表示は変わりません。(例:テーブルのDouble型列からセルの値を取り、BigDecimal型の[数値入力フィールド]に設定)
[数値入力フィールド]のデータ型は、「実行(設定可)」で実行時にフィールド上で右クリック>数値型で設定することができます。既定の型は「BigDecimal」になっています。
データベースからのデータはデータベースでの設定に依存します。
[数値入力フィールド]のメソッド「文字列を設定した後、その文字列で値を確定する」を使用すると、数値を表す値であれば設定できますし、数字ではない文字列が入った場合には、エラーが発生します。
よろしければ一度「文字列を設定した後、その文字列で値を確定する(String)」をお試し下さい。
「数値を設定する(object)」の場合、引数がObject型で、内部で型変換されずそのまま設定されてしまうため、データ型を意識する必要があります。エラーが発生しないのは、申し訳ございませんが仕様です。