entity framework(EF) 直接执行数据库命令并返回DataTable 参数化sql语句
2016-05-19 19:04
573 查看
entity framework(EF) 直接执行数据库命令
执行sql语句返回datatable
参考网址:
直接执行数据库命令
http://www.cnblogs.com/mend/archive/2012/06/11/2544599.html
使用dynamic linq 解决自定义查询的若干弊端
http://www.cnblogs.com/sword-successful/p/3318540.html
MVC3+EF4.1学习系列(十一)----EF4.1常见的问题解决(返回datatable)
http://www.cnblogs.com/wlflovenet/archive/2011/12/30/EF11.html
//调用方法 private void button1_Click(object sender, EventArgs e) { string id = "1"; string sql = "select * from table1 where id = @id"; #region mysql数据库参数类型 var args = new DbParameter[] { new SqlParameter { ParameterName = "id", Value = id}, }; #endregion #region mysql数据库参数类型 //var args = new DbParameter[] { // new OdbcParameter { ParameterName = "id", Value = id}, // }; // var args = new DbParameter[] { // new MySqlParameter { ParameterName = "id", Value = "1"}, // }; #endregion #region access数据库参数类型 //var args = new DbParameter[] { // new OleDbParameter { ParameterName = "id", Value = id}, // }; #endregion MessageBox.Show(SqlQuery<h_job>(sql, args).Count().ToString()); } /// <summary> /// 执行带参数sql语句返回数据列表 /// </summary> /// <typeparam name="T">泛型</typeparam> /// <param name="sql">sql语句</param> /// <param name="args">参数</param> /// <returns>数据列表</returns> public List<T> SqlQuery<T>(string sql, DbParameter[] args) { if (string.IsNullOrEmpty(sql)) return new List<T>(); try { using (itlogo_integralEntities db = new itlogo_integralEntities()) { return db.Database.SqlQuery<T>(sql, args).ToList(); } } catch (Exception ex) { return new List<T>(); } } /// <summary> /// 执行不带参数sql语句返回数据列表 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="sql"></param> /// <returns></returns> public static List<T> SqlQuery<T>(string sql) { if (string.IsNullOrEmpty(sql)) return new List<T>(); try { using (itlogo_integralEntities db = new itlogo_integralEntities()) { return db.Database.SqlQuery<T>(sql).ToList(); } } catch (Exception ex) { return new List<T>(); } } /// <summary> /// 执行带参数sql语句返回受影响行数 /// </summary> /// <param name="sql"></param> /// <param name="args"></param> /// <returns></returns> public static int ExecuteSqlCommand(string sql, DbParameter[] args) { if (string.IsNullOrEmpty(sql)) return 0; try { using (itlogo_integralEntities db = new itlogo_integralEntities()) { return db.Database.ExecuteSqlCommand(sql, args); } } catch (Exception ex) { return 0; } } /// <summary> /// 执行sql语句返回收影响行数 /// </summary> /// <param name="sql"></param> /// <returns></returns> public static int ExecuteSqlCommand(string sql) { if (string.IsNullOrEmpty(sql)) return 0; try { using (itlogo_integralEntities db = new itlogo_integralEntities()) { return db.Database.ExecuteSqlCommand(sql); } } catch (Exception ex) { return 0; } }
执行sql语句返回datatable
#region 执行sql语句返回datatable public DataTable SqlQueryForDataTatable(Database database, string sql) { SqlConnection conn = new System.Data.SqlClient.SqlConnection(); conn.ConnectionString = database.Connection.ConnectionString; if (conn.State != ConnectionState.Open) { conn.Open(); } SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = sql; SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataTable table = new DataTable(); adapter.Fill(table); conn.Close();//连接需要关闭 conn.Dispose(); return table; } public DataTable SqlQueryForDataTatable(Database database, string sql, DbParameter[] parameters) { SqlConnection conn = new System.Data.SqlClient.SqlConnection(); conn.ConnectionString = database.Connection.ConnectionString; if (conn.State != ConnectionState.Open) { conn.Open(); } SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = sql; if (parameters != null && parameters.Length > 0) { foreach (var item in parameters) { cmd.Parameters.Add(item); } } SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataTable table = new DataTable(); adapter.Fill(table); return table; } #endregion
参考网址:
直接执行数据库命令
http://www.cnblogs.com/mend/archive/2012/06/11/2544599.html
使用dynamic linq 解决自定义查询的若干弊端
http://www.cnblogs.com/sword-successful/p/3318540.html
MVC3+EF4.1学习系列(十一)----EF4.1常见的问题解决(返回datatable)
http://www.cnblogs.com/wlflovenet/archive/2011/12/30/EF11.html
相关文章推荐
- C#实现Datatable排序的方法
- C#从DataTable获取数据的方法
- C#实现DataTable映射成Model的方法(附源码)
- C# DataTable使用方法详解
- C#实现从多列的DataTable里取需要的几列
- c# 如何将RadioButton与DataTable数据进行绑定
- C#实现DataTable转换成IList的方法
- C#使用DataSet Datatable更新数据库的三种实现方法
- C# DataTable的详细用法分享
- C#保存与读取DataTable信息到XML格式的方法
- C#中DataTable排序、检索、合并等操作实例
- C#中datatable序列化与反序列化实例分析
- 在ASP.NET 2.0中操作数据之六十八:为DataTable添加额外的列
- C#在DataTable中根据条件删除某一行的实现方法
- C#中DataTable删除行的方法分析
- C# datatable 不能通过已删除的行访问该行的信息处理方法
- C#编程实现DataTable添加行的方法
- DataSet与DataTable的区别示例介绍
- C#获取变更过的DataTable记录的实现方法
- asp.net实现数据从DataTable导入到Excel文件并创建表的方法