这段代码,第二个datareader 读取不到数据
private void product_Load(object sender, EventArgs e)
{
this.CenterToScreen();
Means mymeans = new Means();
SqlDataReader sdr_1 = mymeans.getDataReader(@"select top 1 num from product order by id desc");
string num = "";
while (sdr_1.Read())
{
num = sdr_1.GetString(0);
}
int i = Convert.ToInt32(num) + 1;
txtnum.Text = i.ToString();
sdr_1.Dispose();
sdr_1.Close();
SqlDataReader sdr_2 = mymeans.getDataReader(@"select name from frim");
while (sdr_2.Read())
{
cbofrim.Items.Add(sdr_2[0].ToString());
}
sdr_2.Dispose();
sdr_2.Close();
getDataReader 是自定义方法,这个肯定没问题,我把上面的str_1注释掉,后边就能得到数据了
[解决办法]
你在 sdr_2前,Means mymeans_2 = new Means();
然后 SqlDataReader sdr_2 = mymeans_2.getDataReader(@"select name from frim");
看看,会出现数据不。
[解决办法]
很明显 确实是你这个方法的问题,你的 my_con,my_cmd是非托管资源, 用过之后要释放资源