读书人

OleDbConnection连接有关问题

发布时间: 2013-09-12 22:07:00 作者: rapoo

OleDbConnection连接问题
我做一个窗体应用 通过按钮执行

  OleDbConnection conn;
OleDbDataReader reader;

/// <summary>
/// 打开数据连接
/// </summary>
/// <param name="sql">数据库连接语句</param>
public void open(String sql)
{


conn = new OleDbConnection(sql);
conn.Open();
}

我的意思是执行这一次之后在软件关闭之前都不需要执行close关闭连接
然后我在后面的代码上执行
   public bool sql(String sql)
{
OleDbCommand comm = new OleDbCommand();
comm.CommandText = sql;
comm.Connection = conn;
reader=comm.ExecuteReader();
rd = reader.Read();
reader.Close();
return rd;

}


   public void inquire(Object text)
{

object lockojb = new object();
//lock锁
lock (lockojb)
{
//去掉条形码ID的条码号
// da.open(Class1.strconn);


String t=text.ToString().Substring(1);
String ID=text.ToString().Substring(0,1);
String select_one = "select * from tables where 条码号='" +t+ "'";


if (da.sql(select_one)==false)
{
//省略了具体的处理过程
}


我创建了一个线程池 在符合一定的条件下都会执行inquire();
ThreadPool.QueueUserWorkItem(new WaitCallback(ts.inquire), text);

问题如下:
在我通过按钮执行open()之后 按理说conn在软件关闭之前都是连同的 为什么当我执行到sql()方法来具体执行sql语句是显示“ExecuteReader: Connection 属性尚未初始化”;我用断点去看conn是null值。
急求啊 谢谢啦 数据库 sql 线程池
[解决办法]
conn = new OleDbConnection(sql);
连接对象应该传连接字符串,怎么传sql。

读书人网 >C#

热点推荐