C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.53619 の関連記事表示

<< 0 >>
■53619  Linq to SQLでデータがない場合の処理方法
□投稿者/ TAMA -(2010/09/21(Tue) 09:17:24)

    分類:[ASP.NET (C#)] 

    お世話になっております。
    基本的なことかもしれませんが、
    調べても分からなかったので質問させていただきます。

    ■環境■
    ASP.NET4.0
    SQL Server 2008

    ■処理内容■
    Linq to SQLにて以下のように一般的に行われる処理を行っています。

    dcSeisanDataContext dcSeisan = new dcSeisanDataContext();

    var query = from m in dcSeisan.V品目詳細
    where m.品目コード == txtHinmokuCode.Text && m.使用 == true
    select m;

    foreach (var s in query)
    {
    txtHinmokuName.Text = s.品目名;
    txtHinmokuBunruiName.Text = s.品目分類名;
    lblNyukoTani.Text = s.単位;
    lblShukkoTani.Text = s.単位;
    }

    ■質問■
    この場合、where文の品目コードにテーブルに存在しない品目コードが設定された場合
    (返されるレコードが0件の時)にも処理をするにはどのように記載すればよいでしょうか。
親記事 /過去ログ90より / 関連記事表示
削除チェック/

■53622  Re[1]: Linq to SQLでデータがない場合の処理方法
□投稿者/ もりお -(2010/09/21(Tue) 10:00:01)
    No53619 (TAMA さん) に返信
    
    > この場合、where文の品目コードにテーブルに存在しない品目コードが設定された場合
    > (返されるレコードが0件の時)にも処理をするにはどのように記載すればよいでしょうか。
    
    foreach ブロック外に記述するとよいのではないでしょうか。
    
    if (query.Count() < 1) {
      Debug.WriteLine("0件だす。");
    } else {
      foreach (var s in query) {
        ...
      }
    }
    
記事No.53619 のレス /過去ログ90より / 関連記事表示
削除チェック/

■53624  Re[2]: Linq to SQLでデータがない場合の処理方法
□投稿者/ TAMA -(2010/09/21(Tue) 10:46:45)
    No53622 (もりお さん) に返信
    >
    > ■No53619 (TAMA さん) に返信
    >
    もりおさん、いつもありがとうございます。
    期待通りの動作が実施できました。

    素早い回答ありがとうございました。
記事No.53619 のレス / END /過去ログ90より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -