1127 lines
33 KiB
C#
1127 lines
33 KiB
C#
|
using Dm;
|
|||
|
using Kdbndp;
|
|||
|
using Microsoft.Data.Sqlite;
|
|||
|
using MySqlConnector;
|
|||
|
using Npgsql;
|
|||
|
using Oracle.ManagedDataAccess.Client;
|
|||
|
using System;
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Data;
|
|||
|
using Microsoft.Data.SqlClient;
|
|||
|
using System.Linq;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using System.Data.OscarClient;
|
|||
|
using System.Data.OleDb;
|
|||
|
|
|||
|
namespace SqlSugar
|
|||
|
{
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 数据填充器
|
|||
|
/// </summary>
|
|||
|
public class SqlDataAdapter : IDataAdapter
|
|||
|
{
|
|||
|
private SqlCommand command;
|
|||
|
private string sql;
|
|||
|
private SqlConnection _sqlConnection;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="command"></param>
|
|||
|
public SqlDataAdapter(SqlCommand command)
|
|||
|
{
|
|||
|
this.command = command;
|
|||
|
}
|
|||
|
|
|||
|
public SqlDataAdapter()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="sql"></param>
|
|||
|
/// <param name="_sqlConnection"></param>
|
|||
|
public SqlDataAdapter(string sql, SqlConnection _sqlConnection)
|
|||
|
{
|
|||
|
this.sql = sql;
|
|||
|
this._sqlConnection = _sqlConnection;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SelectCommand
|
|||
|
/// </summary>
|
|||
|
public SqlCommand SelectCommand
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (this.command == null)
|
|||
|
{
|
|||
|
this.command = new SqlCommand(this.sql, this._sqlConnection);
|
|||
|
}
|
|||
|
return this.command;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
this.command = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="dt"></param>
|
|||
|
public void Fill(DataTable dt)
|
|||
|
{
|
|||
|
if (dt == null)
|
|||
|
{
|
|||
|
dt = new DataTable();
|
|||
|
}
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
using (SqlDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
dt.AcceptChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="ds"></param>
|
|||
|
public void Fill(DataSet ds)
|
|||
|
{
|
|||
|
if (ds == null)
|
|||
|
{
|
|||
|
ds = new DataSet();
|
|||
|
}
|
|||
|
using (SqlDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
do
|
|||
|
{
|
|||
|
var dt = new DataTable();
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name+i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
ds.Tables.Add(dt);
|
|||
|
} while (dr.NextResult());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 数据填充器
|
|||
|
/// </summary>
|
|||
|
public class MySqlDataAdapter : IDataAdapter
|
|||
|
{
|
|||
|
private MySqlCommand command;
|
|||
|
private string sql;
|
|||
|
private MySqlConnection _sqlConnection;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="command"></param>
|
|||
|
public MySqlDataAdapter(MySqlCommand command)
|
|||
|
{
|
|||
|
this.command = command;
|
|||
|
}
|
|||
|
|
|||
|
public MySqlDataAdapter()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="sql"></param>
|
|||
|
/// <param name="_sqlConnection"></param>
|
|||
|
public MySqlDataAdapter(string sql, MySqlConnection _sqlConnection)
|
|||
|
{
|
|||
|
this.sql = sql;
|
|||
|
this._sqlConnection = _sqlConnection;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SelectCommand
|
|||
|
/// </summary>
|
|||
|
public MySqlCommand SelectCommand
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (this.command == null)
|
|||
|
{
|
|||
|
this.command = new MySqlCommand(this.sql, this._sqlConnection);
|
|||
|
}
|
|||
|
return this.command;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
this.command = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="dt"></param>
|
|||
|
public void Fill(DataTable dt)
|
|||
|
{
|
|||
|
if (dt == null)
|
|||
|
{
|
|||
|
dt = new DataTable();
|
|||
|
}
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
using (MySqlDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="ds"></param>
|
|||
|
public void Fill(DataSet ds)
|
|||
|
{
|
|||
|
if (ds == null)
|
|||
|
{
|
|||
|
ds = new DataSet();
|
|||
|
}
|
|||
|
using (MySqlDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
do
|
|||
|
{
|
|||
|
var dt = new DataTable();
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (dr.GetFieldType(i).Name == "MySqlDateTime")
|
|||
|
{
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name,UtilConstants.DateType));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, UtilConstants.DateType));
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
ds.Tables.Add(dt);
|
|||
|
} while (dr.NextResult());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 数据填充器
|
|||
|
/// </summary>
|
|||
|
public class SqliteDataAdapter : IDataAdapter
|
|||
|
{
|
|||
|
private SqliteCommand command;
|
|||
|
private string sql;
|
|||
|
private SqliteConnection _sqlConnection;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="command"></param>
|
|||
|
public SqliteDataAdapter(SqliteCommand command)
|
|||
|
{
|
|||
|
this.command = command;
|
|||
|
}
|
|||
|
|
|||
|
public SqliteDataAdapter()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="sql"></param>
|
|||
|
/// <param name="_sqlConnection"></param>
|
|||
|
public SqliteDataAdapter(string sql, SqliteConnection _sqlConnection)
|
|||
|
{
|
|||
|
this.sql = sql;
|
|||
|
this._sqlConnection = _sqlConnection;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SelectCommand
|
|||
|
/// </summary>
|
|||
|
public SqliteCommand SelectCommand
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (this.command == null)
|
|||
|
{
|
|||
|
this.command = new SqliteCommand(this.sql, this._sqlConnection);
|
|||
|
}
|
|||
|
return this.command;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
this.command = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="dt"></param>
|
|||
|
public void Fill(DataTable dt)
|
|||
|
{
|
|||
|
if (dt == null)
|
|||
|
{
|
|||
|
dt = new DataTable();
|
|||
|
}
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
using (SqliteDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
var type = dr.GetFieldType(i);
|
|||
|
if (dr.GetDataTypeName(i).EqualCase("datetime"))
|
|||
|
{
|
|||
|
type = UtilConstants.DateType;
|
|||
|
}
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, type));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, type));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="ds"></param>
|
|||
|
public void Fill(DataSet ds)
|
|||
|
{
|
|||
|
if (ds == null)
|
|||
|
{
|
|||
|
ds = new DataSet();
|
|||
|
}
|
|||
|
using (SqliteDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
do
|
|||
|
{
|
|||
|
var dt = new DataTable();
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
var type = dr.GetFieldType(i);
|
|||
|
if (dr.GetDataTypeName(i).EqualCase("datetime"))
|
|||
|
{
|
|||
|
type = UtilConstants.DateType;
|
|||
|
}
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, type));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, type));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
ds.Tables.Add(dt);
|
|||
|
} while (dr.NextResult());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 数据填充器
|
|||
|
/// </summary>
|
|||
|
public class MyOracleDataAdapter : IDataAdapter
|
|||
|
{
|
|||
|
private OracleCommand command;
|
|||
|
private string sql;
|
|||
|
private OracleConnection _sqlConnection;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="command"></param>
|
|||
|
public MyOracleDataAdapter(OracleCommand command)
|
|||
|
{
|
|||
|
this.command = command;
|
|||
|
}
|
|||
|
|
|||
|
public MyOracleDataAdapter()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="sql"></param>
|
|||
|
/// <param name="_sqlConnection"></param>
|
|||
|
public MyOracleDataAdapter(string sql, OracleConnection _sqlConnection)
|
|||
|
{
|
|||
|
this.sql = sql;
|
|||
|
this._sqlConnection = _sqlConnection;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SelectCommand
|
|||
|
/// </summary>
|
|||
|
public OracleCommand SelectCommand
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (this.command == null)
|
|||
|
{
|
|||
|
this.command = new OracleCommand(this.sql, this._sqlConnection);
|
|||
|
}
|
|||
|
return this.command;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
this.command = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="dt"></param>
|
|||
|
public void Fill(DataTable dt)
|
|||
|
{
|
|||
|
if (dt == null)
|
|||
|
{
|
|||
|
dt = new DataTable();
|
|||
|
}
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
using (OracleDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="ds"></param>
|
|||
|
public void Fill(DataSet ds)
|
|||
|
{
|
|||
|
if (ds == null)
|
|||
|
{
|
|||
|
ds = new DataSet();
|
|||
|
}
|
|||
|
using (OracleDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
do
|
|||
|
{
|
|||
|
var dt = new DataTable();
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
ds.Tables.Add(dt);
|
|||
|
} while (dr.NextResult());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 数据填充器
|
|||
|
/// </summary>
|
|||
|
public class NpgsqlDataAdapter : IDataAdapter
|
|||
|
{
|
|||
|
private NpgsqlCommand command;
|
|||
|
private string sql;
|
|||
|
private NpgsqlConnection _sqlConnection;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="command"></param>
|
|||
|
public NpgsqlDataAdapter(NpgsqlCommand command)
|
|||
|
{
|
|||
|
this.command = command;
|
|||
|
}
|
|||
|
|
|||
|
public NpgsqlDataAdapter()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="sql"></param>
|
|||
|
/// <param name="_sqlConnection"></param>
|
|||
|
public NpgsqlDataAdapter(string sql, NpgsqlConnection _sqlConnection)
|
|||
|
{
|
|||
|
this.sql = sql;
|
|||
|
this._sqlConnection = _sqlConnection;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SelectCommand
|
|||
|
/// </summary>
|
|||
|
public NpgsqlCommand SelectCommand
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (this.command == null)
|
|||
|
{
|
|||
|
this.command = new NpgsqlCommand(this.sql, this._sqlConnection);
|
|||
|
}
|
|||
|
return this.command;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
this.command = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="dt"></param>
|
|||
|
public void Fill(DataTable dt)
|
|||
|
{
|
|||
|
if (dt == null)
|
|||
|
{
|
|||
|
dt = new DataTable();
|
|||
|
}
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
using (NpgsqlDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="ds"></param>
|
|||
|
public void Fill(DataSet ds)
|
|||
|
{
|
|||
|
if (ds == null)
|
|||
|
{
|
|||
|
ds = new DataSet();
|
|||
|
}
|
|||
|
using (NpgsqlDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
do
|
|||
|
{
|
|||
|
var dt = new DataTable();
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
ds.Tables.Add(dt);
|
|||
|
} while (dr.NextResult());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 数据填充器
|
|||
|
/// </summary>
|
|||
|
public class MyDmDataAdapter : IDataAdapter
|
|||
|
{
|
|||
|
private DmCommand command;
|
|||
|
private string sql;
|
|||
|
private DmConnection _sqlConnection;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="command"></param>
|
|||
|
public MyDmDataAdapter(DmCommand command)
|
|||
|
{
|
|||
|
this.command = command;
|
|||
|
}
|
|||
|
|
|||
|
public MyDmDataAdapter()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="sql"></param>
|
|||
|
/// <param name="_sqlConnection"></param>
|
|||
|
public MyDmDataAdapter(string sql, DmConnection _sqlConnection)
|
|||
|
{
|
|||
|
this.sql = sql;
|
|||
|
this._sqlConnection = _sqlConnection;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SelectCommand
|
|||
|
/// </summary>
|
|||
|
public DmCommand SelectCommand
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (this.command == null)
|
|||
|
{
|
|||
|
this.command = new DmCommand(this.sql, this._sqlConnection);
|
|||
|
}
|
|||
|
return this.command;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
this.command = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="dt"></param>
|
|||
|
public void Fill(DataTable dt)
|
|||
|
{
|
|||
|
if (dt == null)
|
|||
|
{
|
|||
|
dt = new DataTable();
|
|||
|
}
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
using (var dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="ds"></param>
|
|||
|
public void Fill(DataSet ds)
|
|||
|
{
|
|||
|
if (ds == null)
|
|||
|
{
|
|||
|
ds = new DataSet();
|
|||
|
}
|
|||
|
using (var dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
do
|
|||
|
{
|
|||
|
var dt = new DataTable();
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
ds.Tables.Add(dt);
|
|||
|
} while (dr.NextResult());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 数据填充器
|
|||
|
/// </summary>
|
|||
|
public class KdbndpDataAdapter : IDataAdapter
|
|||
|
{
|
|||
|
private KdbndpCommand command;
|
|||
|
private string sql;
|
|||
|
private KdbndpConnection _sqlConnection;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="command"></param>
|
|||
|
public KdbndpDataAdapter(KdbndpCommand command)
|
|||
|
{
|
|||
|
this.command = command;
|
|||
|
}
|
|||
|
|
|||
|
public KdbndpDataAdapter()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="sql"></param>
|
|||
|
/// <param name="_sqlConnection"></param>
|
|||
|
public KdbndpDataAdapter(string sql, KdbndpConnection _sqlConnection)
|
|||
|
{
|
|||
|
this.sql = sql;
|
|||
|
this._sqlConnection = _sqlConnection;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SelectCommand
|
|||
|
/// </summary>
|
|||
|
public KdbndpCommand SelectCommand
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (this.command == null)
|
|||
|
{
|
|||
|
this.command = new KdbndpCommand(this.sql, this._sqlConnection);
|
|||
|
}
|
|||
|
return this.command;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
this.command = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="dt"></param>
|
|||
|
public void Fill(DataTable dt)
|
|||
|
{
|
|||
|
if (dt == null)
|
|||
|
{
|
|||
|
dt = new DataTable();
|
|||
|
}
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
using (KdbndpDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="ds"></param>
|
|||
|
public void Fill(DataSet ds)
|
|||
|
{
|
|||
|
if (ds == null)
|
|||
|
{
|
|||
|
ds = new DataSet();
|
|||
|
}
|
|||
|
using (KdbndpDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
do
|
|||
|
{
|
|||
|
var dt = new DataTable();
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
ds.Tables.Add(dt);
|
|||
|
} while (dr.NextResult());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 数据填充器
|
|||
|
/// </summary>
|
|||
|
public class OscarDataAdapter : IDataAdapter
|
|||
|
{
|
|||
|
private OscarCommand command;
|
|||
|
private string sql;
|
|||
|
private OscarConnection _sqlConnection;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="command"></param>
|
|||
|
public OscarDataAdapter(OscarCommand command)
|
|||
|
{
|
|||
|
this.command = command;
|
|||
|
}
|
|||
|
|
|||
|
public OscarDataAdapter()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SqlDataAdapter
|
|||
|
/// </summary>
|
|||
|
/// <param name="sql"></param>
|
|||
|
/// <param name="_sqlConnection"></param>
|
|||
|
public OscarDataAdapter(string sql, OscarConnection _sqlConnection)
|
|||
|
{
|
|||
|
this.sql = sql;
|
|||
|
this._sqlConnection = _sqlConnection;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// SelectCommand
|
|||
|
/// </summary>
|
|||
|
public OscarCommand SelectCommand
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
if (this.command == null)
|
|||
|
{
|
|||
|
this.command = new OscarCommand(this.sql, this._sqlConnection);
|
|||
|
}
|
|||
|
return this.command;
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
this.command = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="dt"></param>
|
|||
|
public void Fill(DataTable dt)
|
|||
|
{
|
|||
|
if (dt == null)
|
|||
|
{
|
|||
|
dt = new DataTable();
|
|||
|
}
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
using (OscarDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Fill
|
|||
|
/// </summary>
|
|||
|
/// <param name="ds"></param>
|
|||
|
public void Fill(DataSet ds)
|
|||
|
{
|
|||
|
if (ds == null)
|
|||
|
{
|
|||
|
ds = new DataSet();
|
|||
|
}
|
|||
|
using (OscarDataReader dr = command.ExecuteReader())
|
|||
|
{
|
|||
|
do
|
|||
|
{
|
|||
|
var dt = new DataTable();
|
|||
|
var columns = dt.Columns;
|
|||
|
var rows = dt.Rows;
|
|||
|
for (int i = 0; i < dr.FieldCount; i++)
|
|||
|
{
|
|||
|
string name = dr.GetName(i).Trim();
|
|||
|
if (!columns.Contains(name))
|
|||
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
|||
|
else
|
|||
|
{
|
|||
|
columns.Add(new DataColumn(name + i, dr.GetFieldType(i)));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
while (dr.Read())
|
|||
|
{
|
|||
|
DataRow daRow = dt.NewRow();
|
|||
|
for (int i = 0; i < columns.Count; i++)
|
|||
|
{
|
|||
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
|||
|
}
|
|||
|
dt.Rows.Add(daRow);
|
|||
|
}
|
|||
|
dt.AcceptChanges();
|
|||
|
ds.Tables.Add(dt);
|
|||
|
} while (dr.NextResult());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|