OleDbDataReader sdr = cmd.ExecuteReader();取值问题
代码如下,while()时sdr只显示最后一条,if()时只显示第一条。怎么才能显示全部啊 ,着急,在线等。高手们帮帮忙!谢谢。
string ses = Session["name"].ToString();
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(ConfigurationManager.AppSettings["OleConnectionString"].ToString());
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string qk = "select xm from tb_Teacher where jgh ='" + ses + "'";
OleDbCommand cmdqk = new OleDbCommand(qk, conn);
cmdqk.CommandType = CommandType.Text;
OleDbDataReader drqk = cmdqk.ExecuteReader();
while (drqk.Read())
{
string jsxm = drqk["xm"].ToString();
string sqlxh = "select xh from tb_Student where zdjs='" + jsxm + "'";
OleDbCommand cmdxh = new OleDbCommand(sqlxh, conn);
OleDbDataReader sdrxh = cmdxh.ExecuteReader();
if (sdrxh != null)
{
while (sdrxh.Read())
{
string xsxh = sdrxh["xh"].ToString();
string sqljg = "select * from tb_design where xh='" + xsxh + "'";
if (!this.ddl_bysj.SelectedValue.Equals("0"))
sqljg += " and bysj='" + ddl_bysj.Text + "'";
if (!this.ddl_zy.SelectedValue.Equals("0"))
sqljg += " and zy='" + ddl_zy.Text + "'";
if (!this.ddl_bj.SelectedValue.Equals("0"))
sqljg += "and bj='" + ddl_bj.Text + "'";
OleDbCommand cmd = new OleDbCommand(sqljg, conn);
OleDbDataReader sdr = cmd.ExecuteReader();
Repeater1.DataSource = sdr;
Repeater1.DataBind();
sdr.Close();
}
}
sdrxh.Close();
}
drqk.Close();
conn.Close();