首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

OleDbConnection连接有关问题

2013-09-12 
OleDbConnection连接问题我做一个窗体应用 通过按钮执行OleDbConnection connOleDbDataReader reader///

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。

热点排行