private static SqlConnection con = DBOperator.CreateConnection();
private static SqlCommand cmd = null;
private static SqlDataReader dr = null; public string[] getSupplyType(String sql)
{
string[] result = null;
try
{
int i = 0;
con.Open();
cmd = new SqlCommand(" Select Distinct(SupplyType) From SupplyTypes", con);//这SQL中查询分析器中没有任何问题
dr = cmd.ExecuteReader();
while (dr.Read())//这句话,就抛出异常?
{
result[i] = "";
result[i] = dr.GetString(0);
i++;
}
dr.Close();
con.Close();
}
catch
{
throw new Exception("数据库表 getSupplyType出错,退出!");
}
finally
{
if (con != null)
{
con.Close();
}
}
return result;
}
while (dr.Read())//这句话,就抛出异常?
感觉有点怪!
private static SqlCommand cmd = null;
private static SqlDataReader dr = null; public string[] getSupplyType(String sql)
{
string[] result = null;
try
{
int i = 0;
con.Open();
cmd = new SqlCommand(" Select Distinct(SupplyType) From SupplyTypes", con);//这SQL中查询分析器中没有任何问题
dr = cmd.ExecuteReader();
while (dr.Read())//这句话,就抛出异常?
{
result[i] = "";
result[i] = dr.GetString(0);
i++;
}
dr.Close();
con.Close();
}
catch
{
throw new Exception("数据库表 getSupplyType出错,退出!");
}
finally
{
if (con != null)
{
con.Close();
}
}
return result;
}
while (dr.Read())//这句话,就抛出异常?
感觉有点怪!
while (dr.Read())//这句话,就抛出异常?
{
// result[i] = "";
result[i] = dr.GetString(0);
i++;
}
private static SqlCommand cmd = null;
private static SqlDataReader dr = null;
怎么都是static的 这样不好 ....
这句是异常的话,应该是
此时dr为null
cmd = new SqlCommand(" Select Distinct(SupplyType) From SupplyTypes", con);//这SQL中查询分析器中没有任何问题
dr = cmd.ExecuteReader(); 未给cmd.SqlConnection 属性赋值
改成下面试试con.Open();
cmd = new SqlCommand(" Select Distinct(SupplyType) From SupplyTypes", con);//这SQL中查询分析器中没有任何问题
cmd.Connection=con; //添加这句
dr = cmd.ExecuteReader();
添加了cmd.Connection=con; 这句,还是一样的错误!!