resident
سه شنبه 07 اسفند 1386, 15:47 عصر
سلام.
من تو برنامم متدی دارم که خروجی اش شیئی از SqlDataReader است. حالا میخوام تو یه متد دیگه این شیء(دیتاریدر) رو بخونم اما نمیشه . موقع خوندن Exception زیر رخ میده(محل رخ دادن استثناء رو آبی کردم):
Invalid attempt to Read when reader is closed.
نمیدونم چکار کنم که ریدر در این متد باز بشه.کانکشن رو موقع خوندن باز کردم ولی فایده نداره.
اینم متدها:
public void fill_combobox(string subject, ComboBox cb)
{
cb.Items.Clear();
SqlDataReader sdr= s.get_sizes(subject);
cn.Open();
while (sdr.Read() == true)
cb.Items.Add((string)sdr[0]);
sdr.Close();
cn.Close();
cb.Items.Add("افزودن آیتم جدید");
}
public SqlDataReader get_sizes(string subject)
{
cmd.CommandText = "sp_show_size_in_combobox";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@subject", subject);
cn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Close();
cn.Close();
return sdr;
}
من تو برنامم متدی دارم که خروجی اش شیئی از SqlDataReader است. حالا میخوام تو یه متد دیگه این شیء(دیتاریدر) رو بخونم اما نمیشه . موقع خوندن Exception زیر رخ میده(محل رخ دادن استثناء رو آبی کردم):
Invalid attempt to Read when reader is closed.
نمیدونم چکار کنم که ریدر در این متد باز بشه.کانکشن رو موقع خوندن باز کردم ولی فایده نداره.
اینم متدها:
public void fill_combobox(string subject, ComboBox cb)
{
cb.Items.Clear();
SqlDataReader sdr= s.get_sizes(subject);
cn.Open();
while (sdr.Read() == true)
cb.Items.Add((string)sdr[0]);
sdr.Close();
cn.Close();
cb.Items.Add("افزودن آیتم جدید");
}
public SqlDataReader get_sizes(string subject)
{
cmd.CommandText = "sp_show_size_in_combobox";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@subject", subject);
cn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Close();
cn.Close();
return sdr;
}