アプリケーションで SQL データベースの Admins テーブルをチェックし、現在のユーザーが所属する部門の名前を取得しようとしています。その後、別のテーブルを調べて、その部門に属するニュース項目だけを選択したいと考えています。
以下は、私がどのように取り組んでいるのかを示していますが、問題は、(2 番目の SQL クエリ内で使用される) While ループの外側で mydepartment 変数を使用することにあります。
それ以外はすべて機能します。どんな助けでも大歓迎です。
public string username = System.Web.HttpContext.Current.User.Identity.Name.Split('\\')[1];
public string mydepartment;
protected void Page_Load(object sender, EventArgs e)
{
lblUser.Text = username.ToString();
SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True";
myConnection.Open();
string selectretrieveSQL = ("SELECT * FROM Admins WHERE userid = '" + username.ToString() + "'");
SqlCommand retrieveinfocmd = new SqlCommand(selectretrieveSQL, myConnection);
SqlDataReader reader = retrieveinfocmd.ExecuteReader();
while (reader.Read())
{
ListItem newItem = new ListItem();
newItem.Text = reader["Department"].ToString();
newItem.Value = reader["userid"].ToString();
UserIds.Items.Add(newItem);
mydepartment = reader["Department"].ToString();
mydepartmentlbl.Text = reader["Department"].ToString();
}
reader.Close();
string selectNewsSQL = ("SELECT * FROM NewsItems WHERE Department = '" + mydepartment + "'");
}