ADO.NET基础
2016-06-16 15:07
323 查看
一、介绍
ado.net是.net framework的数据提供程序,它主要有SqlConnection、SqlCommand、SqlDataAdapter、SqlDataReader和DataSet五大对象构成,结构如下图(l来自msdn)
View Code
四、其它第三方框架
有Dapper、IBatis.Net等等,可以参考学习下
ado.net是.net framework的数据提供程序,它主要有SqlConnection、SqlCommand、SqlDataAdapter、SqlDataReader和DataSet五大对象构成,结构如下图(l来自msdn)
/// <summary> /// 连接信息 /// </summary> public class ConnectionInfo { private string _connectionString; private string _providerName; /// <summary> /// 连接字符串 /// </summary> public string ConnectionString { get { return _connectionString; } } /// <summary> /// 提供程序的固定名称 /// </summary> public string ProviderName { get { return _providerName; } } public ConnectionInfo(string connectionString, string providerName) { _connectionString = connectionString; _providerName = providerName; } } public class MySqlHelper { private static DbProviderFactory dbProvider; private static readonly ConnectionInfo connInfo = new ConnectionInfo("Server=.;Database=demodb;User=sa;Password=123;", "System.Data.SqlClient"); private static void GetProvider() { dbProvider = DbProviderFactories.GetFactory(connInfo.ProviderName); } static MySqlHelper() { GetProvider(); } public static int ExecuteNonQuery(string sql, DbParameter[] parameters) { int flag = 0; using (DbConnection conn = dbProvider.CreateConnection()) { conn.ConnectionString = connInfo.ConnectionString; conn.Open(); using (DbCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; if (parameters != null && parameters.Length > 0) { cmd.Parameters.AddRange(parameters); } flag = cmd.ExecuteNonQuery(); } } return flag; } public static void ExecuteReader(string sql, DbParameter[] parameters, Action<IDataReader> action) { IDataReader rdr = null; using (DbConnection conn = dbProvider.CreateConnection()) { conn.ConnectionString = connInfo.ConnectionString; conn.Open(); using (DbCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; if (parameters != null && parameters.Length > 0) { cmd.Parameters.AddRange(parameters); } rdr = cmd.ExecuteReader(); action(rdr); rdr.Close(); } } } public static DataTable ExecuteDataTable(string sql, DbParameter[] parameters) { DataTable dt = null; using (DbConnection conn = dbProvider.CreateConnection()) { conn.ConnectionString = connInfo.ConnectionString; conn.Open(); using (DbCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; if (parameters != null && parameters.Length > 0) { cmd.Parameters.AddRange(parameters); } IDataReader rdr = cmd.ExecuteReader(); dt = new DataTable(); dt.Load(rdr); rdr.Close(); } return dt; } } }
View Code
四、其它第三方框架
有Dapper、IBatis.Net等等,可以参考学习下
相关文章推荐
- 根据一个表的数据情况显示另一个表的数据
- 高效编程之道:好好休息
- Maven 私服配置
- iOS load和initialize的区别
- arp欺骗
- Android 在部分华为手机上出现乱码的问题
- 快速学习者的高效学习策略
- 天秤女
- 一个苹果证书怎么多次使用——导出p12文件
- json转实体类
- 读BeautifulSoup官方文档之与bs有关的对象和属性(3)
- WAMP RPC & Publish & Subscribe c++ 实现简析 & TCP 粘包处理方法
- java socket 服务端与客户端聊天
- 优化SQL查询:如何写出高性能SQL语句
- web 购物 加减小程序
- 团队开发项目客户端——游戏子系统的设计(上)
- jdbc简单小登陆demo
- SIP协议整理
- 论SOA架构的几种主要开发方式
- JavaScript 之HTML DOM EventListener