-1

一部のエンド ユーザー向けに C# で Windows フォーム アプリケーションを作成しています。基本的には、顧客のアカウント番号に基づいてテーブルの 1 つの値を無効にします。私はSqlDataAdapterこれを行うために を使用しています。これは次のようになります。

string acct_no = "".Trim();

da3.SelectCommand = new SqlCommand
            ("UPDATE prod.dbo.chartqueue" +
            "SET prod.dbo.chartqueue.sent_datetime = null" +
            "FROM prod.dbo.casemain" +
            "WHERE prod.dbo.casemain.casemain_id = hsmprod.dbo.chartqueue.casemain_id" +
            "AND prod.dbo.casemain.acct_num = @acct_no", cs5);

da3.SelectCommand.Parameters.AddWithValue("@acct_no", acct_no);

私がしたいのは、その列がnull値を返すかどうかに応じて、Sentまたはという値を持つ文字列を返すことです。Failed提案?

4

1 に答える 1

1

where 句に含めるようにクエリを変更する必要があります: and hsmprod.dbo.chartqueue.sent_datetime is not null。DataAdapter.Update は、更新された行数を示す int を返します。0 の場合は、フィールドに既に null が含まれていることがわかります。1 の場合は、フィールドが null ではなかったことがわかります。return rowsUpdated == 0 ? "Failed" : "Sent";その後、 「失敗」と見なす内容に応じて、実行またはその逆を行うことができます。

于 2012-12-27T17:41:30.023 に答える