2012-02-27 10 views
0

私は1週間前のようにこのコーディングを行っています。しかし、私は検索部分で立ち往生した。だから、私は費用のためのこれらの8つのテキストボックス、および各費用のための価格のための8つを持っています。このページには、ユーザーが月を選択するドロップダウンメニューがあり、その月の経費(1月など)、テキストボックスにその月のdbのレコードが表示されます。ユーザーのレコードに基づいてデータベースからデータを取得できるように月をリンクする方法現在のログインユーザーのレコードのみを表示する方法は?ヒルプ私のみんなありがとう。SQLからデータを取得

protected void Button1_Click(object sender, EventArgs e) 
{ 
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Connection"].ConnectionString); 
    conn.Open(); 
    SqlCommand cmd = new SqlCommand("SELECT * FROM ExpTab WHERE UserID = @UserName and month = @month", conn); 
    cmd.Parameters.Add(new SqlParameter("UserName", HttpContext.Current.User.Identity.Name)); 
    cmd.Parameters.Add(new SqlParameter("@month", DropDownList2.SelectedValue)); 
    DataTable dt = new DataTable(); 

検索したデータをテキストボックスに表示するにはどうすればいいですか? Thankkあなた

+0

データベースに日付列がありますか? –

+1

私はあなたの投稿がDBスキーマの場合も同様に – Jayanga

+0

あなたがそれをデバッグしようとしたと思いますか?それは何を返しますか?ユーザーのSQLプロファイラ –

答えて

1

ユーザーが代わりにカレンダーコントロールのドロップダウンリストから月を選択し、あなたがこのような何かをするだろうと仮定すると:上記のコード

protected void Button1_Click(object sender, EventArgs e) 
{ 
    using(SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings ["Connection"].ConnectionString)) 
    { 
     conn.Open(); //you were missing this 
     SqlCommand cmd = new SqlCommand("SELECT * FROM ExpTab WHERE UserID = @UserName and month(date_column)[email protected]", conn); 
     cmd.Parameters.Add(new SqlParameter("UserName", 
     HttpContext.Current.User.Identity.Name)); 
     cmd.Parameters.Add(new SqlParameter("@month", dropDownDate.SelectedValue)); 
     DataTable dt = new DataTable(); 
     dt.Load(cmd.ExecuteReader());//load the data in a data table, for example. 
    } 
} 

は、次のことを前提とします

  1. あなたは日付時刻を保持する列をExpTabテーブルに作成します。したがって、この:。... and month(date_col)はあなたが興味のある月の数と一致します
  2. あなたの月の選択は私のコードは考慮されていません1〜12
  3. に毎月の整数値を割り当てdropDownDateと呼ばれるドロップダウンから来ています年。私はあなたがその部分を把握させるでしょう。

MONTH functionへのリンク。

+0

こんにちは、私はほとんどそこに着いた。ちょうどあなたに質問したい、どのようにテキストボックスにデータをロードする?ありがとうございます –

+0

DataTable変数(dt)の行を繰り返し処理します。 * foreach(dt.RowsのDataRow行)... *次に、datarowの特定の列の値をtxtフィールドに代入します。 – Icarus

関連する問題