【发布时间】:2013-12-11 12:49:31
【问题描述】:
我正在尝试使用 datareader 从 sql 数据库中获取数据,以将它们放入组合框中,但在此代码中出现错误:阅读器关闭时调用读取无效。 错误出现在 while 语句的第二部分代码中。它是表单加载的代码。
class DataLoad
{
public SqlDataReader comboboxLoad()
{
SqlConnection con = new SqlConnection("Data Source=Abdullah-PC;Initial Catalog=SmartPharmacyDB;Integrated Security=True");
SqlCommand com = new SqlCommand();
com.Connection = con;
SqlDataReader dr;
com.CommandText = "select drugname from drugtab order by drugname";
con.Open();
dr = com.ExecuteReader();
con.Close();
return dr;
}
}
private void Smart_Pharmacy_Load(object sender, EventArgs e)
{
DataLoad d = new DataLoad();
SqlDataReader DR = d.comboboxLoad();
while (DR.Read())
{
DrugNameCombo.Items.Add(DR["drugname"]);
}
}
【问题讨论】:
-
方法
comboboxLoad是多余的。至少您还应该添加将项目添加到组合框中的代码。这将修复错误并证明方法的名称是正确的。
标签: c#