これはなぜ動作しないのですか?これは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);
}
}
これは、最初のレコードのみを取得しています。 'info.Tables [0] .Rows [0] [" Name "]。ToString();'。あなたは 'foreach'にいて、行' ["Name"]。ToString() 'を使います。 –
あなたは行をループしていますが、ループの中では常に最初の行を見ています。 – Amy
どうもありがとうございました。 – SandraTinch