2017-07-25 17 views
-2

これはなぜ動作しないのですか?これはWHERE文と一致する最初のデータベースレコードのみを表示し、一致するものをすべて表示するために必要です。それ以外のすべては、一致する最初のレコードのみを表示します。前もって感謝します。あなたは、foreachループ内にあり、行変数に「現在」の行を持ってC#でSQL Serverデータベースから複数のレコードを取得する

nameEmployee = info.Tables[0].Rows[0]["Name"].ToString(); 

using (connection = new SqlConnection(connectionString)) 
using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM members WHERE Month = '" + currentMonth + "' AND Day = '" + currentDay +"'", connection)) 
{ 
    DataTable membersTable = new DataTable(); 
    DataSet info = new DataSet(); 
    adapter.Fill(membersTable); 
    adapter.Fill(info); 

    var rows = info.Tables[0].Rows; 

    foreach (DataRow row in rows) 
    { 
     nameEmployee = info.Tables[0].Rows[0]["Name"].ToString(); 
     MessageBox.Show (nameemployee); 
    } 
} 
+1

これは、最初のレコードのみを取得しています。 'info.Tables [0] .Rows [0] [" Name "]。ToString();'。あなたは 'foreach'にいて、行' ["Name"]。ToString() 'を使います。 –

+1

あなたは行をループしていますが、ループの中では常に最初の行を見ています。 – Amy

+0

どうもありがとうございました。 – SandraTinch

答えて

1

は、次の行を参照してください。その行は、次のようになります。

nameEmployee = row["Name"].ToString(); 
+0

まあ、私はばかげていません。皆さん、ありがとうございました。私はそれを把握しようとしている3時間のためにこれを見つめるために得るものだと思います。恥ずかしい、ありがとう。 – SandraTinch

+0

あなたは大歓迎です。それは私たち全員に起こります。ありがとう。 – padotj

+0

@sandratinchいつでも同じ問題を1時間以上見つめている場合は、20分何かに切り替えてください。これはあなたの脳が内部リセットをすることを可能にします。あなたは新鮮な目でそれを再び見るでしょう。 – Amy

関連する問題