关于SQLHELP调用ExecuteNonQuery函数返回单个值什么时候关闭数据库的问题

ni_vision 2013-02-05 09:25:54
我现在做#C访问数据库返回单个值给网页,在SQLHELP.CS中函数如下,
public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
{
using (SqlConnection con=new SqlConnection(constr))
{
using (SqlCommand cmd=new SqlCommand(sql,con))
{
//如果pms为null,则直接调用cmd.Parameters.AddRange(pms)会出错
if (pms!=null)
{
cmd.Parameters.AddRange(pms);
}
con.Open();
return cmd.ExecuteNonQuery();
//con.close();//
}
}
}
然后通过程序调用它是可以得到想要的值的,但是无法关闭数据库,如果用这个函数,如果加上最后一个执行完后关闭数据库就得不到想要的值了,然后通过查资料发现这个函数是执行后如果关闭数据库值没有是正常的,他不像DATATABLE那样把数据存起来了。
那么我想问因为是只想读一个返回值,不想用DATATABLE浪费内存,怎么才了用了这个函数在一个合适的地方关于数据库连接?因为书上说调用完数据库后必须关闭以免影响其他操作哦,谢谢大家了。
总结上面的:问题就是我用了这个返回单个值的函数,也就是我的网页得到了这个值后,应该在哪个合适的地方关闭数据库连接好?。。。。谢谢大家了,新手来着。。。。
...全文
35 5 点赞 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ni_vision 2013-02-06
对吗,谢谢大家饿。。。3楼的方法吧是很给力,因为查询的东西 有可能是整形数据 有可能是别的类型那样就可能为每一种类型写一种函数了
  • 打赏
  • 举报
回复
ni_vision 2013-02-06
按照1,2楼的意思就是如果是通过USING打开的数据库读取数据,然后在程序中获取数据库的值后,自己没有必要再手动CLOSE数据库了,当USING执行完后,他自己会conn.Dispose();//
  • 打赏
  • 举报
回复
goodsoft 2013-02-05
如果真要关闭,你可以试试 con.Open(); int rows=cmd.ExecuteNonQuery(); con.close(); return rows;
  • 打赏
  • 举报
回复
winner2050 2013-02-05
这个东西是微软作的,不会有那么低级的错误的。 .net 里面凡是 using (*** A=new ***()) 之类的代码都是自动释放资源的。
  • 打赏
  • 举报
回复
using() {} 将自动释放()中对象占用的资源,就不用手动Close了
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2013-02-05 09:25
社区公告

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