各位高手:请教一个基本的问题:如何共同使用一个数据连接?

菩提998866 2006-08-17 11:54:26
各位高手:
我的系统只要连接一个数据库,所以想用一个连接就可以了,可是我在窗体中如下设置后:
public class Formdw : System.Windows.Forms.Form
{
...
private System.Data.OracleClient.OracleConnection oC;

...
//oC.connectionstring 已经在初始化过程中赋值
private void Formdw_Load(object sender, System.EventArgs e)
{
using (oC)
{
this.oC.Open(); //这儿可以顺利地通过
this.oDAab01.Fill(this.dataSet11);
this.oC.Close();
}
}

public void currentrow(int irow)
{
switch (this.tabAB.SelectedIndex)
{
case 0:
case 1:
string sqlCmdTxt = "....";
this.oCmd.CommandText = sqlCmdTxt;
using (oC)
{
this.oC.Open(); //在这儿却出现初始参数没有赋值
dGab16.SetDataBinding(oCmd.ExecuteReader(),"");
this.oC.Close();

}
break;
default:
break;
}
}
}
这代码有什么问题吗?请教
...全文
238 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzw66 2006-08-17
  • 打赏
  • 举报
回复
之前不要用using语句,用过close就行了
到最后关闭程序时再调用oC.Disponse();
hzw66 2006-08-17
  • 打赏
  • 举报
回复
using (oC)
{}
会调用oC.Disponse();
把oC给销毁了
TOTTI1025 2006-08-17
  • 打赏
  • 举报
回复
你可以模仿JAVA的JDBC
手写一个连接的方法返回一个SqlConnection
那么在什么地方你都可以调用的呀.
菩提998866 2006-08-17
  • 打赏
  • 举报
回复
谢谢楼上各位:
书上说用什么"连接池",不用USING连接也可以用连接池吗?
lidong6 2006-08-17
  • 打赏
  • 举报
回复
猜楼主的意思是想使用一个变量.这没问题,你的问题在于把该变量给销毁了.去掉using语句.
cancerser 2006-08-17
  • 打赏
  • 举报
回复
把oC的using 都去掉
cancerser 2006-08-17
  • 打赏
  • 举报
回复
this.oCmd.Connection=oC;
TryToday 2006-08-17
  • 打赏
  • 举报
回复
我的程序就公用一个连接啊,没有问题。c/s应该没问题,b/s的应该及时释放。
Eddie005 2006-08-17
  • 打赏
  • 举报
回复
除非lz这个系统只有一个人使用,否则,不要共用数据库连接

数据库连接在需要时创建,在用完后立刻释放销毁~
Knight94 2006-08-17
  • 打赏
  • 举报
回复
to 我的系统只要连接一个数据库,所以想用一个连接就可以了,可是我在窗体中如下设置后:

如果不分离UI和数据库操作的话,对于多个窗体公用一个connection,会使你的代码显得臃肿。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧