双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

OleDbConnection连接问题

u010269523 u010269523 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我做一个窗体应用 通过按钮执行
  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值。
急求啊 谢谢啦
...全文
评论 12
收藏 已收藏
分享
返回顶部
u010269523
C# 111,129 成员 642,540 内容