2008/02/28(Thu) 18:10:26 編集(投稿者)
■No14906 (青雉 さん) に返信
> チェックフラグ1='" + (CheckBox1.checkd ? "TRUE" : "FALSE") + "';";
恐らくは、掲示板投稿時の誤記かと思いますが、
そもそも、CheckBox に checkd プロパティは存在しません。
それはさておき、先の No14887 の回答を再度確認してください。少なくとも私は、
UPDATE TableA SET Flag1 = 'YES', Flag2 = 'NO';
や
UPDATE TableA SET Flag1 = 'TRUE', Flag2 = 'FALSE';
といった回答をした覚えはありません。
> チェックフラグ1='" + (CheckBox1.checkd) ? "TRUE" : "FALSE" + "';";
> だと思って試した所、「型'string"を型'bool'に変換できません」とエラーが出ました。
恐らくそのコードは、
s = "チェックフラグ1='"
if (CheckBox1.Checked) { s += "TRUE"; } else { s += "FALSE"; }
s += "';"
の意図で書かれたのだと思いますが、実際にはそのコードだと、
if ("チェックフラグ1='" + CheckBox1.Checked) { s = "TRUE"; } else { s = "FALSE" + "';"; }
の意味で解釈されてしまうためです。
> 表示の段階で(Boolean)reader["チェックフラグ1"];としたのが
> 悪かったのでしょうか?
チェックボックスの値を設定する部分を
CheckBox1.Checked = (bool)reader["チェックフラグ1"];
CheckBox2.Checked = (Boolean)reader["チェックフラグ2"];
と書こうが、
CheckBox1.Checked = true;
CheckBox2.Checked = false;
と書こうが、今回のSQL 生成時に対しては無関係です。