yyy类:
public SqlDataReader getDataReader(string ReaderString)
{
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand(ReaderString,con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
return dr;
}
else
{
return null;
}
dr.Close();
con.Close();
}aspx页面:
yyy showNoteBookClass = new yyy();
SqlDataReader dr = showNoteBookClass.getDataReader("NoteBook_c_select"); //存储过程“select * from NoteBook_Class”
this.DropDownList1.DataSource = dr;
this.DropDownList1.DataTextField = "N_c_name";
this.DropDownList1.DataBind();
奇怪的是,当数据库有2项的时候,DropDownList中只有1项,数据库有3项时,DropDownList中只有2项,总是把第一项隐藏起来~~这是为什么啊~?该怎么办呢???
public SqlDataReader getDataReader(string ReaderString)
{
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand(ReaderString,con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
return dr;
}
else
{
return null;
}
dr.Close();
con.Close();
}aspx页面:
yyy showNoteBookClass = new yyy();
SqlDataReader dr = showNoteBookClass.getDataReader("NoteBook_c_select"); //存储过程“select * from NoteBook_Class”
this.DropDownList1.DataSource = dr;
this.DropDownList1.DataTextField = "N_c_name";
this.DropDownList1.DataBind();
奇怪的是,当数据库有2项的时候,DropDownList中只有1项,数据库有3项时,DropDownList中只有2项,总是把第一项隐藏起来~~这是为什么啊~?该怎么办呢???
this.DropDownList1.DataValueField = "主键";加上他看看
this.DropDownList1.DataValueField = "主键";加上他看看
if(read.Reder())
{
}你改成这样试一下 public SqlDataReader getDataReader(string ReaderString)
{
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand(ReaderString,con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader dr = cmd.ExecuteReader();
return dr;
}
你已经读取了一行了。这样就损失了一行数据应该用
if(dr.HasRow())