关于用ADO.net连接SQL server数据库的问题

ohoff 2006-09-19 12:37:48
我刚学C#,想用ADO.net连接一个运行在本机SQL server 2000服务器上的数据库,代码如下:

public SqlConnection MyConn;
public string MyConnString;
public bool ConnFlag;

public SqlConnection Open(string strDataSource,string strIninialCatalog)
{
ConnFlag=false;

MyConnString="workstation id='127.0.0.1';integrated security=SSPI;data source="+strDataSource+";Connect Timeout=1;initial catalog="+strIninialCatalog;
MyConn=new SqlConnection(MyConnString);


try
{

MyConn.Open();

ConnFlag=true;
MessageBox.Show ("数据库连接成功", "Bingo!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

}

catch(Exception ee)
{
ConnFlag=false;

MessageBox.Show ("数据库连接失败\n"+ee.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}

return(MyConn);
}

public void Close()
{
MyConn.Close();
}

现在我可以用以上代码连上数据库。在成功连上一次之后,关闭服务器端,并再次尝试连接服务器,居然仍然显示连接成功,ConnFlag被置为true,并没有置为false。重新启动程序,才提示连接失败。请问大家,这是为什么?
...全文
195 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
copico 2006-09-19
  • 打赏
  • 举报
回复
跟踪一下看看
lanserzhao 2006-09-19
  • 打赏
  • 举报
回复
ASP.NET(c#,Ajax)技术讨论群30417196(限已工作人士)
kissknife 2006-09-19
  • 打赏
  • 举报
回复
已回短消息...
ohoff 2006-09-19
  • 打赏
  • 举报
回复
在线等~
ohoff 2006-09-19
  • 打赏
  • 举报
回复
kissknife(侧身向南边) :我就是再次调用那个方法……诚心请教:为什么一定成功啊?我之前调用了Close()把连接关闭了。
kissknife 2006-09-19
  • 打赏
  • 举报
回复
并再次尝试连接服务器,居然仍然显示连接成功
=========================================
这里的“再次尝试连接服务器”,是再次调用public SqlConnection Open(string strDataSource,string strIninialCatalog)方法?那当然成功....
ohoff 2006-09-19
  • 打赏
  • 举报
回复
我跟踪过了,似乎即使服务器关闭,Open函数仍然被正常执行了,而且CurrentState也显示的是Open。

110,566

社区成员

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

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

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