try
{
String empid1 = Request.QueryString["MyText"];
int empid = int.Parse(empid1);
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["EmployeeDatabase"].ConnectionString;
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand cmd = new SqlCommand("ReportingManagers", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@EmpID", SqlDbType.Int, 0).Value = empid;
SqlDataReader dr = cmd.ExecuteReader();
dr.Read();
LinkButton3.Text = string.Empty;
int i = 1;
while(dr.Read())
{
TreeNode parentNode = new TreeNode("L" + i++ + "Manager : " + dr["Emp_Name"].ToString());
parentNode.Value = dr["Emp_ID"].ToString();
TreeView1.Nodes.Add(parentNode);
parentNode.ChildNodes.Add(new TreeNode("Short ID : " + dr["Short_ID"].ToString()));
parentNode.ChildNodes.Add(new TreeNode("EmpID : " + dr["Emp_ID"].ToString()));
// LinkButton3.Text = "Reporting Managers";
}
DataTable dt = new DataTable();
dt.Load(dr);
if (dt.Rows.Count > 1)
{
LinkButton3.Text = "Reporting Managers";
}
dr.Close();
con.Close();
}
上記のコードで if ループが実行されない理由を説明してください。データ テーブル dt で行数 '0' を取得したことがわかりますが、私の dr は行がある場合に true を示しています..このシーンで SQL アダプターを使用するつもりはありません。
このシナリオでデータ テーブルの行数を取得するにはどうすればよいですか?