CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

看看这段代码有什么问题?应该怎么修改?

楼主jpyc(九品-沉默)2004-12-02 08:35:22 在 .NET技术 / ASP.NET 提问

真是难以琢磨,单步调试的时候发现SqlConnection竟然一直是处于关闭状态。  
   
  static   SqlConnection   sqlConnection=new   SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["data"]);  
   
  public   static   DataTable   SelectFormForum(string   sql)  
  {  
  try  
  {  
  SqlDataAdapter   sqlAdapter1   =   new   SqlDataAdapter(sql,   sqlConnection);  
  DataSet   returns   =   new   DataSet();  
  sqlAdapter1.Fill(returns);  
  return   returns.Tables[0];  
  }  
  catch   (Exception   ex)  
  {  
  throw   (ex);  
  }  
  finally  
  {  
  sqlConnection.Close();//目的是想关闭连接,但没运行这句前已经是关闭了的,从new开始一直就没打开过。  
  }  
  } 问题点数:20、回复次数:16Top

1 楼guanvee(CSDN上一个迷途小猪儿)回复于 2004-12-02 08:41:19 得分 2

你有打开过吗?  
  sqlConnection.Open()应该在sqlAdapter1.Fill(returns);之前Top

2 楼jonescheng(小块头无大智慧)回复于 2004-12-02 08:44:46 得分 2

是阿。你的SqlConnetcion.open()了吗??Top

3 楼zxy1092003(秒秒)回复于 2004-12-02 08:44:53 得分 2

當然了,在try下面加  
  sqlConnection.Open()Top

4 楼jeffidea(程序诗人)回复于 2004-12-02 08:45:24 得分 2

SqlDataAdapter,自动打开和关闭Connection  
  SqlDataReader需要手动打开和关闭ConnectionTop

5 楼killerliu(越学越无知。。。。。-_-)回复于 2004-12-02 08:46:44 得分 2

水贴吧,。。Top

6 楼jeffidea(程序诗人)回复于 2004-12-02 08:47:07 得分 2

原来是九品兄啊,谢谢你的V1.52.Top

7 楼jpyc(九品-沉默)回复于 2004-12-02 08:49:13 得分 0

要不改SqlDataReader?Top

8 楼zhanqiangz(闲云野鹤-Overriding)回复于 2004-12-02 08:50:03 得分 2

SqlDataAdapter调用fill方法时会自动打开连接,fill方法完成后会自动关闭,  
  如果你在调用fill用open打开数据库连接,那么fill方法不会自动关闭,必须用close关闭连接。  
  一般应该用connectionstate判断当前connection的状态,如果时打开的然后关闭。Top

9 楼jackymi(完美刺客)回复于 2004-12-02 08:52:09 得分 1

open()Top

10 楼zhanqiangz(闲云野鹤-Overriding)回复于 2004-12-02 08:52:27 得分 1

SqlDataReader用这个必须一直保证连接打开,知道DataBind完成。Top

11 楼jpyc(九品-沉默)回复于 2004-12-02 08:52:34 得分 0

微软的例子就这样,不知道有没有问题  
          protected   void   Page_Load(Object   sender,   EventArgs   e)    
          {  
                  SqlConnection   myConnection   =   new   SqlConnection("server=(local)\\NetSDK;database=pubs;Integrated   Security=SSPI");  
                  SqlDataAdapter   myCommand   =   new   SqlDataAdapter("select   *   from   Authors",   myConnection);  
   
                  DataSet   ds   =   new   DataSet();  
                  myCommand.Fill(ds,   "Authors");  
   
                  MyDataGrid.DataSource=ds.Tables["Authors"].DefaultView;  
                  MyDataGrid.DataBind();  
          }  
  Top

12 楼jpyc(九品-沉默)回复于 2004-12-02 08:54:50 得分 0

就是说这里的CLOSE是多此一举了?!Top

13 楼oudy(凤舞九天)回复于 2004-12-02 08:56:40 得分 1

是不是连接字符串除了问题啊  
  密码之类的等等Top

14 楼vzxq(灵感人)回复于 2004-12-02 09:00:29 得分 1

自动开关Top

15 楼conquersky(conquersky V)回复于 2004-12-02 09:01:58 得分 1

默认打开填充    
  填充后自动关闭Top

16 楼shijunbao1(一片小叶子)回复于 2004-12-02 09:21:17 得分 1

sqlConnection.Open()?Top

相关问题

  • 请帮忙看看这段代码应该怎么修改呢?
  • 谁能帮忙修改这段代码?
  • 求一段广告代码.帮修改代码.
  • 求一段修改文件的修改时间和建立时间代码
  • 急需修改query结果集记录的一段代码!!!
  • 用代码怎么修改字段名称?
  • 求教一段修改计时器处理程序的代码
  • 请帮我修改一下这段代码。。
  • 请高手们帮我修改一下下面这段代码
  • 请教:该如何修改该段代码

关键词

  • 连接
  • ds
  • sqlconnection
  • 关闭
  • 打开
  • sqladapter1
  • fill
  • sqldataadapter
  • 应该
  • 问题

得分解答快速导航

  • 帖主:jpyc
  • guanvee
  • jonescheng
  • zxy1092003
  • jeffidea
  • killerliu
  • jeffidea
  • zhanqiangz
  • jackymi
  • zhanqiangz
  • oudy
  • vzxq
  • conquersky
  • shijunbao1

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo