この前に、2_1と2_2用に新しい「MySqlConnection」と「MySqlCommand」を作成しますが、コードが非常に長くなり、混乱するため、1_1用にすでに宣言したこれらを再利用することにしました。私はそれを以下のように行いました:
MySqlConnection connSelect = new MySqlConnection(connectionString);
MySqlCommand cmdSelect = connSelect.CreateCommand();
cmdSelect.Parameters.Add("username", MySqlDbType.VarChar);
cmdSelect.Parameters["username"].Value = Request.QueryString["username"].ToString();
cmdSelect.CommandText = "SELECT * FROM member WHERE username = @username";
connSelect.Open();
MySqlDataReader drSelect1_1 = cmdSelect.ExecuteReader();
if (drSelect1_1.Read())
{
//1_1
this.lbl1_1.Text = drSelect1_1["username"].ToString();
//2_1
if (drSelect1_1["direct1"].ToString() != null)
{
this.lbl2_1.Text = drSelect1_1["direct1"].ToString();
connSelect.Close();
cmdSelect.CommandText = "SELECT * FROM member WHERE username = '" + this.lbl2_1.Text + "'";
connSelect.Open();
MySqlDataReader drSelect2_1 = cmdSelect.ExecuteReader();
if (drSelect2_1.Read())
{
//some code
}
}
//2_2
if (drSelect1_1["direct2"].ToString() != null) //ERROR HERE
{
this.lbl2_2.Text = drSelect1_1["direct2"].ToString();
}
}
エラーがあります:2_2に「データリーダーに現在のクエリがありません」、ここで間違っていましたか?私にアドバイスしてくださいthx:)