数据库问题,简单问题!

kelihua 2008-11-25 11:09:11
static string conn = "Data Source=.;Initial Catalog=MyQQ;User Id=sa;Pwd=123456";
public static SqlConnection connection = new SqlConnection(conn);
这样定义一个连接数据库的
如果我一个程序打开连接
connection.Open();
别的再同时打开就会出错,如何让他们同时或是一个访问完毕后,另一个再访问.大家给个提示!


在线等!
...全文
75 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kelihua 2008-11-25
  • 打赏
  • 举报
回复
谢谢大家了,分数不多,不知道哦啊给谁好了..
linghuxiaochong 2008-11-25
  • 打赏
  • 举报
回复
加个判断不就可以了
if(connection.State!=ConnectionState.Open)
{
connection.Open();
}
wendao745 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 changjiangzhibin 的回复:]

1、可考虑使用Singleton模式,建一个共用的操作库的类
2、使用连接池,可不考虑上述情况,数据库中建立对应的锁机制,如排他锁等
3、使用完连接后,及时关闭
1)
using{SqlConnection connection = new SqlConnection(conn)}

2)
try
{
conn = new SqlConnection(connString);
if(conn.State != ConnectionState.Opened)
{
conn.Open();
}
}
catch{}
finally
{
if(conn != nu…
[/Quote]

我觉得第一种用起来挺简单的.
xupeihuagudulei 2008-11-25
  • 打赏
  • 举报
回复
顶,学习
changjiangzhibin 2008-11-25
  • 打赏
  • 举报
回复

1、可考虑使用Singleton模式,建一个共用的操作库的类
2、使用连接池,可不考虑上述情况,数据库中建立对应的锁机制,如排他锁等
3、使用完连接后,及时关闭
1)
using{SqlConnection connection = new SqlConnection(conn)}

2)
try
{
conn = new SqlConnection(connString);
if(conn.State != ConnectionState.Opened)
{
conn.Open();
}
}
catch{}
finally
{
if(conn != null && conn.State != ConnectionState.Closed)
{
conn.Close();
}
}
Fibona 2008-11-25
  • 打赏
  • 举报
回复
Using()
{

}
//这样语句结束后自动进行连接的关闭,及所使用资源的释放

using 语句(C# 参考)
定义一个范围,将在此范围之外释放一个或多个对象。

语法 using (Font font1 = new Font("Arial", 10.0f))
{
}


备注
C# 通过 .NET Framework 公共语言运行库 (CLR) 来自动释放用来存储不再需要的对象的内存。内存的释放具有不确定性;一旦 CLR 决定执行垃圾回收,就会释放内存。但是,通常最好尽快释放诸如文件句柄和网络连接这样的有限资源。

using 语句允许程序员指定使用资源的对象应当何时释放资源。为 using 语句提供的对象必须实现 IDisposable 接口。此接口提供了 Dispose 方法,该方法将释放此对象的资源。

可以在到达 using 语句的末尾时,或者在该语句结束之前引发了异常并且控制权离开语句块时,退出 using 语句。

可以在 using 语句中声明对象(如上所示),或者在 using 语句之前声明对象,如下所示:
Font font2 = new Font("Arial", 10.0f);
using (font2)
{
// use font2
}


可以有多个对象与 using 语句一起使用,但是必须在 using 语句内部声明这些对象,如下所示:
using (Font font3 = new Font("Arial", 10.0f),
font4 = new Font("Arial", 10.0f))
{
// Use font3 and font4.
}

CatchNull 2008-11-25
  • 打赏
  • 举报
回复
使用完自动关闭
wangping_li 2008-11-25
  • 打赏
  • 举报
回复
在using()块里面写
kelihua 2008-11-25
  • 打赏
  • 举报
回复
什么意思啊,解释下?
wzy_love_sly 2008-11-25
  • 打赏
  • 举报
回复
using(SqlConnection connection = new SqlConnection(conn))
{

}

111,131

社区成员

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

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

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