请问代码里面的sqlCon需要Close吗?

问题描述

///<summary>///创建SqlDataAdapter对象///</summary>///<paramname="procName">存储过程的名称</param>///<paramname="prams">存储过程所需参数</param>///<returns>返回SqlDataAdapter对象</returns>privatestaticSqlDataAdapterCreateSqlDataAdapter(stringprocName,paramsSqlParameter[]prams){///创建数据库连接SqlConnectionsqlCon=CreateSqlConnection();///打开数据库连接if(sqlCon==null)returnnull;if(sqlCon.State==ConnectionState.Closed){sqlCon.Open();}///设置SqlDataAdapter的属性SqlDataAdapterda=newSqlDataAdapter(procName,sqlCon);da.SelectCommand.CommandType=CommandType.StoredProcedure;///添加存储过程参数if(prams!=null){foreach(SqlParameterparameterinprams){da.SelectCommand.Parameters.Add(parameter);}}///添加返回参数da.SelectCommand.Parameters.Add(newSqlParameter(returnValueString,SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));///返回SqlDataAdapter对象returnda;}

解决方案

解决方案二:
要呀,释放资源!
解决方案三:
要的.
解决方案四:
finally{if(connection!=null){connection.Close();connection.Dispose();}if(command!=null){command.Dispose();}}
解决方案五:
要一般在try{}catch{}finially{}结构中写在finailly中
解决方案六:
这是肯定要的。因为比较多使用SqlHelper之类的东西,SqlHelper里面,一般都是使用using来自动释放资源的吧。。。
解决方案七:
那我应该怎么调整呢???
解决方案八:
对的,要释放资源,,或者使用using数据库连接是要手动释放资源的。
解决方案九:
SqlConnectionsqlconn=newSqlConnection(SqlHelper._connectionString);sqlconn.Open();SqlCommandsqlcomm=newSqlCommand(sqlString,sqlconn);SqlDataReaderreader=sqlcomm.ExecuteReader();...reader.Close();sqlcomm.Dispose();sqlconn.Close();
解决方案十:
使用using(){}结构写这类代码,不需要显示执行Close()。
解决方案十一:
谁能帮我在原有代码的基础上,进行一下优化啊??
解决方案十二:
是这样?????///<summary>///创建SqlDataAdapter对象///</summary>///<paramname="procName">存储过程的名称</param>///<paramname="prams">存储过程所需参数</param>///<returns>返回SqlDataAdapter对象</returns>privatestaticSqlDataAdapterCreateSqlDataAdapter(stringprocName,paramsSqlParameter[]prams){///创建数据库连接SqlConnectionsqlCon=CreateSqlConnection();using(sqlCon){///打开数据库连接if(sqlCon==null)returnnull;if(sqlCon.State==ConnectionState.Closed){sqlCon.Open();}///设置SqlDataAdapter的属性SqlDataAdapterda=newSqlDataAdapter(procName,sqlCon);da.SelectCommand.CommandType=CommandType.StoredProcedure;///添加存储过程参数if(prams!=null){foreach(SqlParameterparameterinprams){da.SelectCommand.Parameters.Add(parameter);}}///添加返回参数da.SelectCommand.Parameters.Add(newSqlParameter(returnValueString,SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));///返回SqlDataAdapter对象returnda;}}

解决方案十三:
///<summary>///创建SqlDataAdapter对象///</summary>///<paramname="procName">存储过程的名称</param>///<paramname="prams">存储过程所需参数</param>///<returns>返回SqlDataAdapter对象</returns>privatestaticSqlDataAdapterCreateSqlDataAdapter(stringprocName,paramsSqlParameter[]prams){///创建数据库连接SqlConnectionsqlCon=CreateSqlConnection();try{///打开数据库连接if(sqlCon==null)returnnull;if(sqlCon.State==ConnectionState.Closed){sqlCon.Open();}///设置SqlDataAdapter的属性SqlDataAdapterda=newSqlDataAdapter(procName,sqlCon);da.SelectCommand.CommandType=CommandType.StoredProcedure;///添加存储过程参数if(prams!=null){foreach(SqlParameterparameterinprams){da.SelectCommand.Parameters.Add(parameter);}}///添加返回参数da.SelectCommand.Parameters.Add(newSqlParameter(returnValueString,SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));///返回SqlDataAdapter对象returnda;}catch{returnnull;}finally{if(sqlCon!=null){sqlCon.Close();}}}

解决方案十四:
using也可以建议用using
解决方案十五:
using(SqlConnectionsqlCon=CreateSqlConnection()){...yourcode}

解决方案:
有始有终么有打开就有关闭
解决方案:
要得,养成好习惯!
解决方案:
using(SqlConnectionconn=newSqlConnection(connectionString)){yourcode;}其实直接使用SqlHelper不好么。。。
解决方案:
这里的return(newSqlConnection(conStr));要关闭吗????///<summary>///创建连接.///</summary>privatestaticSqlConnectionCreateSqlConnection(){///获取连接字符串stringconStr=(string)Cache.GetData(connectionStringNameInWebConfig);if(string.IsNullOrEmpty(conStr)){try{///如果连接字符串为空,则从配置文件中获取连接字符串conStr=ConfigurationManager.ConnectionStrings[connectionStringNameInWebConfig].ConnectionString;}catch(Exceptionex){thrownewException(ex.Message,ex);}///把字符串添加到缓存中Cache.CachingData(connectionStringNameInWebConfig,conStr);}if(!string.IsNullOrEmpty(conStr)){///创建数据库连接return(newSqlConnection(conStr));}returnnull;}

解决方案:
使用using(){}写这类代码,就不需要执行Close()。
解决方案:
引用18楼david1030的回复:

这里的return(newSqlConnection(conStr));要关闭吗????C#code///<summary>///创建连接.///</summary>privatestaticSqlConnectionCreateSqlConnection(){///获取连接字符串stringconStr=(string)Cache.GetData(connectionStringNameInWebConfig);if(string.IsNullOrEmpty(conStr)){try{///如果连接字符串为空,则从配置文件中获取连接字符串conStr=ConfigurationManager.ConnectionStrings[connectionStringNameInWebConfig].ConnectionString;}catch(Exceptionex){thrownewException(ex.Message,ex);}///把字符串添加到缓存中Cache.CachingData(connectionStringNameInWebConfig,conStr);}if(!string.IsNullOrEmpty(conStr)){///创建数据库连接return(newSqlConnection(conStr));}returnnull;}

using不用释放
解决方案:
强烈建议,using
解决方案:
楼主的帖子都是无满意结贴,建议不要回复他,封杀此ID
解决方案:
最简单的方法:return前加句sqlcon.Close();
解决方案:
还好意思发帖问问题是么。。看看你的结贴。。建议封杀

时间: 2025-01-21 18:37:36

请问代码里面的sqlCon需要Close吗?的相关文章

请问wpf里面的scrollview怎么充满整个usercontrol

问题描述 请问wpf里面的scrollview怎么充满整个usercontrol就跟form里面的dock一样 解决方案 解决方案二:<UserControlx:Class="ZknwSystems.WindFarmScada.UserControls.ComponentControl"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://sc

请问css里面的float是什么,怎么清除浮动,有什么作用

问题描述 请问css里面的float是什么,怎么清除浮动,有什么作用 请问css里面的float是什么,怎么清除浮动,有什么作用 解决方案 通常来说,html文档中块级别的元素都是从上到下依次排列的,每个块级别的元素都是自动撑满占据其父元素的一整行的,元素不能放在同一行. 而float属性就可以让元素脱离原来的文档流,使得多个块级别的元素可以排在同一行. 有个很好的博客,生动解析了float的作用和效果:http://www.zhangxinxu.com/wordpress/2010/01/cs

去除html代码里面的script正则方法_javascript技巧

去除html代码里面的script正则方法 /** * 去除html代码里面的脚本字符(<script ...>...</script>和<script ... /> * @author ob * */ public class Regex { /** * @param args */ public static void main(String[] args) { //注意,这里有大小写 String s = "<script type='text/j

C语言判断临界矩阵表示的图是否存在回路?请问代码怎么写,是数据结构里面的?

问题描述 C语言判断临界矩阵表示的图是否存在回路?请问代码怎么写,是数据结构里面的? C语言判断临界矩阵表示的图是否存在回路?请问代码怎么写,是数据结构里面的? 解决方案 递归遍历,把找到的节点标记出来,如果遇到遍历的节点已经被标记,就说明有回路.

odi 接口 会话-请问各位大神,想要获取ODI里面的“会话”信息,该利用什么接口?

问题描述 请问各位大神,想要获取ODI里面的"会话"信息,该利用什么接口? 如题,有人做过这方面相关的研究吗?如果有可否共享下接口代码,由于现在急用又还找不到..

微信 图文上传接口中JSON格式里面的content参数里面含有html代码的问题

问题描述 微信 图文上传接口中JSON格式里面的content参数里面含有html代码的问题 Java微信公众平台开发,图文上传接口的JSON格式如下: { "articles": [ { "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p", "author":"xxx", "tit

js调试-利用easyui panel控件中的href 引入一个html代码片段,片段里面的js怎么调试?

问题描述 利用easyui panel控件中的href 引入一个html代码片段,片段里面的js怎么调试? Firefox和chrome的js调试页面都不显示片段js文件.唯一的办法是在要调试的地方加上debugger: 关键字.可是这样很麻烦,有没有其他的办法供调试用呢?

请问在js代码里能不能添加java代码 怎么添加

问题描述 我想在js代码里取得checkbox的值之后把他赋值给几个java的变量然后存在session里请问怎么实现啊. 解决方案 解决方案二:这不可能,你可以用ajax传到后台保存到session中解决方案三:js要把变量赋值给session1.楼上所说用ajax调用jsp或servlet,页面不需要提交2.把值赋给一个hidden,提交这个form表单解决方案四:js是在客户端session是在服务器解决方案五:每天回帖即可获得10分可用分解决方案六:哦,明白了.谢谢大家!主要是我只是做前

js里面的php代码不执行是怎么回事啊

问题描述 js里面的php代码不执行是怎么回事啊 我在js代码里的if语句下面加<?php?>标签就不执行是为什么啊 解决方案 php代码必须在模版文件中,不能放在单独的js文件中,看你是否使用外部引用js 解决方案二: 放js文件里面还是php页面里面的script 加载的js代码块? 放js文件里面php代码块没编译执行会导致js语法错误,script没问题 解决方案三: @showbo我的整个文件是php文件,里面有HTML和js代码,我在js里面的if判断里想加点php代码的,php就