作者DearKurt (U SUCK)
看板C_Sharp
标题Re: [问题]有关acess连结
时间Sat Apr 15 01:16:25 2006
※ 引述《liunate (i miss you)》之铭言:
: 以下纯推论 正确性非百分百
: ※ 引述《jonbon (Ruud Van Nistelrooy)》之铭言:
: : string query = "Select * From file";
: : if(textBox2.Text != "")
: : query =query+"Where name=\'"+textBox2.Text+"\'";
: : conn.Open();
: 你在这里开启了Connection
: : com.CommandText=query;
: : com.Connection=conn;
: 又在这里将已经开启的Connection拿给别人用
: : adp = new OleDbDataAdapter(com);
: : adp.Fill(ds,"file");
: 这边的Adapter想要执行Fill的时候发现Connection已经开启占用中 所以产生错误
: 试试看前面的conn.Open()不要开启
如果是用DataAdapter的Fill 刚刚查了一下SDK的说明
"Fill 方法若发现连接尚未开启,会隐含开启 DataAdapter 正在使用的 Connection。如
果 Fill 开启连接,则等到 Fill 关闭时也会一并关闭连接。如此便可在处理单一作业,
例如 Fill 或 Update时,简化您的程式码。但是,如果您要执行需要开启连接的多项作
业,您可隐含呼叫 Connection 的 Open 方法,针对资料来源执行作业,然後呼叫
Connection 的 Close 方法,这种方式能改善应用程式效能。您应该尽量减少与资料来
源的连接开启时间,以释放资源给其他用户端应用程式使用。"
因此有没有预先把conn.Open()都可以正常使用Fill
所以问题应该不是出在这里
: : 请问这里最後一行会出错是为什麽?
: : 拜托拜托
要不要po出错误的讯息或者更完整的程式码呢 这样才有更多线索解决你的问题
另外visual studio.net不是已经内建资料库工具
只要那些工具会使用 在写资料库程式的部分 可以简便许多 也比较不容易出错
建议找本书 学一学如何用资料库工具
--
玩 B L A C K J A C K 又 玩 到 输 光 光 了 >"<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.83.58