您的位置:首页 > 其它

ADO.NET基础

2016-06-16 15:07 323 查看
一、介绍

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等等,可以参考学习下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: