如何写一个ADO.net的通用方法,用来运行SQL获取某一张表的记录数

问题描述

我想采用ADO.NET来写一个方法:实现可以通过传入连接串,SQL语句获得SQL语句查询结果的记录数,方法形式如下:publicstaticintgetExesqlCount(StringstrConn,Stringsql){}请高手帮我写一个,感谢。

解决方案

解决方案二:
去msdn上搜吧,都有实例,比这写都行了。
解决方案三:
publicstaticintgetExesqlCount(StringstrConn,Stringsql){intcount=0;using(SqlConnectionconn=newSqlConnection(strConn)){conn.Open();using(SqlCommandcmd=conn.CreateCommand()){//cmd.CommandText=@"selectcount(*)fromusers";cmd.CommandText=sql;cmd.CommandType=CommandType.Text;count=(int)cmd.ExecuteScalar();//执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。}conn.Close();conn.Dispose();returncount;}}

解决方案四:
不用那么麻烦的孩纸哟可以直接用EF框架然后通过泛型类2句就搞定了或者使用存储过程拼接SQL语句就行了换个思路来说无非就是常量和变量的感觉你写2个sel语句查询2个表看看哪些是不变的哪些是需要变的既然功能一致把不变的写死需要变动的做为参数即可
解决方案五:
引用2楼zhi_ai_yaya的回复:

publicstaticintgetExesqlCount(StringstrConn,Stringsql){intcount=0;using(SqlConnectionconn=newSqlConnection(strConn)){conn.Open();using(SqlCommandcmd=conn.CreateCommand()){//cmd.CommandText=@"selectcount(*)fromusers";cmd.CommandText=sql;cmd.CommandType=CommandType.Text;count=(int)cmd.ExecuteScalar();//执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。}conn.Close();conn.Dispose();returncount;}}

用了using不是可以自动释放资源
解决方案六:
引用4楼aazbc的回复:

用了using不是可以自动释放资源

是的,出了using作用域,自动释放资源。conn.Close();conn.Dispose();我添加这两句也没错,因为释放资源前,内部会判断资源是否已经释放,所以不会重复释放的。
解决方案七:
随便找个sqlhelper或者使用企业库

时间: 2024-09-12 04:01:01

如何写一个ADO.net的通用方法,用来运行SQL获取某一张表的记录数的相关文章

如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写?

问题描述 如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写? 将查询的的返回值为整型 参考用例 类似 以下方法查询政治类新闻人数 新手不知道该如何改动成自己需要的方法 public Map<String, Long> sumPolEntNews(){ //查询政治类新闻人数总和 String sql = "select count(*) from t_user where newsh ='政治类新闻' "; Map<String, Long> m

sql-我要写一个java程序,去链接oracle数据库,如果获取链接的时间超过1分钟,就抛出异常,请问怎么实现?

问题描述 我要写一个java程序,去链接oracle数据库,如果获取链接的时间超过1分钟,就抛出异常,请问怎么实现? 我要写一个java程序,去链接oracle数据库,如果获取链接的时间超过1分钟,就抛出异常,请问怎么实现? 解决方案 http://blog.chinaunix.net/uid-20752328-id-3451931.html 这里有一篇文章可以解决你的问题你可以点击进去看看; 如果回答对您有帮助请采纳 解决方案二: 说明数据整理不合理吧 解决方案三: 你应该优化数据库结构,或你

sql数据库 当一张表的内容添加一条时 写一个触发器 使其自动再生成一张

问题描述 sql数据库 当一张表的内容添加一条时 写一个触发器 使其自动再生成一张 1C sql数据库 当一张表的内容添加一条时 写一个触发器 使其自动再生成一张表 但自动生成的表的名字需要是添加的这个表的一个字段的内容 比如说表中添加了一个成员的名字 需要自动生成的表的名字就是这个人名 解决方案 需求可以实现,但没有这么去做的,这个表里有10000条数据时,你生成1万张表???? 建议修改设计,改成其它的方案来实现 解决方案二: Sql Server数据库新增触发器里面可以通过select (

Mysql获取id最大值、表的记录总数等相关问题的方法汇总_Mysql

一.mysql 获取当前字段最大id SQL语句: select max(id) from yourtable; 二.获取mysql表自增(Auto_increment)值 Auto_increment是表中的一个属性,只要把表的状态获取到,也就可以获取到那个自增值 SQL语句: show table status like "表名"; php代码实现 $get_table_status_sql = "SHOW TABLE STATUS LIKE '表名'"; $r

sql语句-如何用SQL语句实现两张表(无关联)查询后,分别将各自的一个字段,插入一个新表。

问题描述 如何用SQL语句实现两张表(无关联)查询后,分别将各自的一个字段,插入一个新表. 有A.B.C三张表如下, 表 A 表B 学生ID(主键) 学生名称 课程ID(主键)| 课程名称 表 C 学生ID 课程ID (联合主键) 那么,通过SQL语句操作如何用学生姓名和课程名(只能获取学生姓名和课程名)将课程ID和学生ID插入到C表(C表中有课程ID和学生ID并且是联合主键),感激不尽. 解决方案 你可以定义2个变量,分别从表A表B用名称查询到ID.在表C的新增语句中使用这2个变量. 不过你这

PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法_php技巧

本文实例讲述了PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法.分享给大家供大家参考,具体如下: 这是一段简单的代码,可实现统计该数据库中每个表的记录数,并按递减顺序排列的功能 $host = '127.0.0.1'; $port = 3306; $dbname = 'test'; $username = 'root'; $password = ''; function ee($p) { if(PHP_SAPI == 'cli') { echo "\n"; }else{

求大神指教怎么从一张表的字段获取另一张表的字段,后台操作,求一个添加方法例子,重赏

问题描述 现在要在逻辑层写一个方法查询订单表,然后从订单表的投资人姓名查询到邀请人的ID,再把数据添加到返利表中去,在控制器里面调用方法,求大神教写一个方法在调用出来.特别的急重赏 解决方案 解决方案二:先获取订单表信息,然后用订单表的投资人姓名去客户表找对应的推荐人,如果能成功的获取到推荐人,则往分润表新增数据,这个你想写成啥样?解决方案三:把订单表的的UserSysNo//用户系统编号.OrderID//订单号.Status//订单表的状态为1,插入到返利表为0.ProspectiveEar

SQL同时更新两张表中关联数据方法

文章标题比较难理解,先让我举个例子,解释一下要实现的操作. 有两张表,t_statistics.t_add,如下 t_statistics数据 t_add数据 现在需要将 t_statistics 表 addtotal 字段的值减去 t_add 表 total 字段的值,条件是两者有相同的 id,所以正确的操作之后,t_add 记录无变化,t_statistics 记录如下 测试的数据库为Oracle(Oracle Database 10g Enterprise Edition Release

Sql存储过程游标循环的用法及sql如何使用cursor写一个简单的循环_MsSql

用游标,和WHILE可以遍历您的查询中的每一条记录并将要求的字段传给变量进行相应的处理 ================== DECLARE @A1 VARCHAR(10), @A2 VARCHAR(10), @A3 INT DECLARE CURSOR YOUCURNAME FOR SELECT A1,A2,A3 FROM YOUTABLENAME OPEN YOUCURNAME fetch next from youcurname into @a1,@a2,@a3 while @@fetch