当前位置:编程学习 > C#/ASP.NET >>

一个很奇怪的问题

我使用sqlclient连接sql数据库有时到con.open()时就报错
“System.NullReferenceException: 未将对象引用设置到对象的实例。”但有时可以连上

但是用OleDb 却一直可以连接
数据库没问题查询分析器就可以一直连接 

下面是我写的测试
string scon="data source=222.137.116.90;database=sinian_news;uid=sinian;pwd=";
SqlConnection con=new SqlConnection(scon);

con.Open();
SqlCommand com=new SqlCommand("select * from ImgSort",con);
SqlDataReader dr=com.ExecuteReader();
while(dr.Read())
{

}

con.Close();

OleDbConnection con1=new OleDbConnection("Provider=sqloledb;data source=222.137.116.90;database=sinian_news;uid=sinian;pwd=");
con1.Open();
OleDbCommand com1=new OleDbCommand("select * from ImgSort",con1);
OleDbDataReader dr1=com1.ExecuteReader();
while(dr1.Read())
{

}
con1.Close();
--------------------编程问答-------------------- dr.close();
你的DataReader必须要关闭,否则就不能在连接 --------------------编程问答-------------------- 在使用完DataReader对象后,必须调用DataReader对象的Close方法来关闭与数据源的连接。
你看下是不是少了dr.close();

--------------------编程问答-------------------- 加过了但是用sqlclient有时还是连不上,用oledb一直可以 --------------------编程问答-------------------- 你单步调试过没?
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,