PetaPoco ORM 增加返回DataTable的方法

 1 public DataTable ExecuteDataTable(Sql sql)
 2 {
 3     return ExecuteDataTable(sql.SQL, sql.Arguments);
 4 }
 5 public DataTable ExecuteDataTable(string sql, params object[] args)
 6 {
 7     try
 8     {
 9         OpenSharedConnection();
10         try
11         {
12             using (var cmd = CreateCommand(_sharedConnection, sql, args))
13             {
14                 var val = cmd.ExecuteReader();
15                 OnExecutedCommand(cmd);
16                 var dt = new DataTable();
17                 dt.Load(val);
18                 return dt; //(T)Convert.ChangeType(val, typeof(T));
19             }
20         }
21         finally
22         {
23             CloseSharedConnection();
24         }
25     }
26     catch (Exception x)
27     {
28         OnException(x);
29         throw;
30     }
31 }
时间: 2024-12-15 06:50:01

PetaPoco ORM 增加返回DataTable的方法的相关文章

EF 返回DataTable 扩展方法

public static class EFExtendMethod { public static DataTable SqlQueryToDataTable(this Database db, string sql, CommandType type = CommandType.Text, params SqlParameter[] param) { DataTable ret_dt = new DataTable(); SqlConnection conn = db.Connection

iBatis.Net实现返回DataTable和DataSet对象

如题.要返回一个ADO.NET对象好像没有使用ORM的必要,而且从编程的角度看这样的实现一点也不OO,但是实际的开发场景中还是会碰到这种需求的.下面我就借鉴前人的经验,结合实际的示例,再总结一下.如果您认真看完,应该可以体会得到我的一些尝试,而不是人云亦云的照搬代码. 1.获得DbCommand对象 对于SQL语句,方法如下: /// <summary> /// SQL语?句?,?获?取?DbCommand /// </summary> /// <param name=&qu

DataTable.AcceptChanges方法有何用处

提交自上次调用 AcceptChanges 以来对该表进行的全部更改. 调用 AcceptChanges 后,再用 DataAdapter.Update() 不会有不论什么新数据被更新到数据库中.那--那它有什么用处呢? 曾经的做法: Fill –> Edit –>Update –> 又一次Fill –> Edit –> Update –> -- "更新了数据当然要又一次获取啦!",再次更新后,再再次又一次获取. 如今的做法: Fill –>

给NSString增加Java风格的方法

给NSString增加Java风格的方法 文章目录 我实在受不了 NSString 冗长的方法调用了,每次写之前都要查文档.特别是那个去掉前后多余的空格的方法,长得离谱.与之对应的别的语言,拿 java 来说,对应的方法名叫 trim.拿 python 来说,对应的方法名叫 strip.但是 Objective-C 呢?是下面这段: [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacte

Entity Framework执行Sql语句返回DataTable

Entity Framework中对外开放了数据库连接字符串,使用的时候可以直接得到这个连接字符串,然后进行相关的操作.如果在使用的过程中,发现Entity Framework中有一些满足不了的需求的话,那么就可以用这个连接字符串,自己写ADO的代码,去数据库进行相关的操作.特别是对于一些复杂的查询,这时候,一般是想直接执行一个Sql语句,返回一个结果集.下面是一个方法,直接返回DataTable. /// <summary> /// EF SQL 语句返回 dataTable /// <

转:LINQ查询返回DataTable类型

动态绑定ReportViewer虽然之前实现过,但现在弄起来还是有点晕,主要是过去没有使用Linq,数据的操作经常用到DataTable,可以直接拿来使用,现在用Linq更方便,也懒得再用之前的数据库连接方式,幸好,最后发现了这篇文章,将linq和datatable连接了起来,因此,我有了前一篇文章和这篇文章这两大法宝,现在可以轻松搞定动态查询生成报表了,不知道网上有没有使用同样方法的人~~~~~ 在使用LINQ查询的时候,一般我们会返回List<T>或IList<T>类型,如下所

在DataTable中执行DataTable.Select(&quot;条件&quot;)返回DataTable;

1.在DataTable中执行DataTable.Select("条件")返回DataTable: // <summary> // 执行DataTable中的查询返回新的DataTable // </summary> // dt 是源数据DataTable // condition 是查询条件 DataTable newdt = new DataTable(); newdt = dt.Clone(); // 克隆dt 的结构,包括所有 dt 架构和约束,并无数据

WebService返回DataTable问题

今天做项目时,想在WebService中返回DataTable,在单位没成功,看网上有人说datable在.net1.1中是没有序列化的,不能直接在webservice中返回,可以返回dataset.晚上回家又上网找了一下,看到说法基本一致,还有一篇被引用很多的文章说在asp.net2.0中datatable已经被序列化了,但是还需要自己手动写一些代码才能从webservice中返回.我就想一定要写另写代码吗?继续查找,发现有人说必须给datable起名就可以返回了,还可以在调用端手动转换为da

C#实现将json转换为DataTable的方法

本文实例讲述了C#实现将json转换为DataTable的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: #region 将json转换为DataTable /// <summary> /// 将json转换为DataTable /// </summary> /// <param name="strJson">得到的json</param> /// <returns></returns> private