mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-10-15 18:55:07 +08:00
NET CORE supports native Datatable
This commit is contained in:
@@ -325,6 +325,7 @@ namespace OrmTest.Demo
|
|||||||
var getAll = db.Queryable<Student>().Select<object>("*").ToList();
|
var getAll = db.Queryable<Student>().Select<object>("*").ToList();
|
||||||
var getAll2 = db.Queryable<Student>().Select(it=>it.Name.Substring(0,4)).ToList();
|
var getAll2 = db.Queryable<Student>().Select(it=>it.Name.Substring(0,4)).ToList();
|
||||||
var getAll22 = db.Queryable<Student>().ToDataTable();
|
var getAll22 = db.Queryable<Student>().ToDataTable();
|
||||||
|
var getAll220 = db.Ado.GetDataSetAll("select 1");
|
||||||
var getAll222 = db.Queryable<Student>().ToJson();
|
var getAll222 = db.Queryable<Student>().ToJson();
|
||||||
var getAll2222 = db.Queryable<Student>().OrderBy(it=>it.Name.Length).ToJson();
|
var getAll2222 = db.Queryable<Student>().OrderBy(it=>it.Name.Length).ToJson();
|
||||||
var getAll3 = db.Queryable<Student>().OrderBy(it => new { it.Id, it.Name }).GroupBy(it => new { it.Id, it.Name }).Select<object>("id").ToList();
|
var getAll3 = db.Queryable<Student>().OrderBy(it => new { it.Id, it.Name }).GroupBy(it => new { it.Id, it.Name }).Select<object>("id").ToList();
|
||||||
|
@@ -5,401 +5,13 @@ using Oracle.ManagedDataAccess.Client;
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
namespace SqlSugar
|
namespace SqlSugar
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// 作者:sunkaixuan
|
|
||||||
/// 创建时间:2016/7/31
|
|
||||||
/// 修改时间:-
|
|
||||||
/// 说明:让.netCore支持DataSet
|
|
||||||
/// </summary>
|
|
||||||
public class DataSet
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 数据表
|
|
||||||
/// </summary>
|
|
||||||
public List<DataTable> Tables = new List<DataTable>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 作者:sunkaixuan
|
|
||||||
/// 创建时间:2016/7/31
|
|
||||||
/// 修改时间:-
|
|
||||||
/// 说明:让.netCore支持DataTable
|
|
||||||
/// </summary>
|
|
||||||
public class DataTable
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 列信息
|
|
||||||
/// </summary>
|
|
||||||
public DataColumnCollection Columns = new DataColumnCollection();
|
|
||||||
/// <summary>
|
|
||||||
/// 行信息
|
|
||||||
/// </summary>
|
|
||||||
public DataRowCollection Rows = new DataRowCollection();
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 数据列
|
|
||||||
/// </summary>
|
|
||||||
public class DataColumn
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Data Column
|
|
||||||
/// </summary>
|
|
||||||
public DataColumn()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Column Name
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="columnName"></param>
|
|
||||||
public DataColumn(string columnName)
|
|
||||||
{
|
|
||||||
this.ColumnName = columnName;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Data Column
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="columnName"></param>
|
|
||||||
/// <param name="dataType"></param>
|
|
||||||
public DataColumn(string columnName, Type dataType)
|
|
||||||
{
|
|
||||||
this.ColumnName = columnName;
|
|
||||||
this.DataType = dataType;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Column Name
|
|
||||||
/// </summary>
|
|
||||||
public string ColumnName { get; internal set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Data Type
|
|
||||||
/// </summary>
|
|
||||||
public Type DataType { get; internal set; }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 数据列集合
|
|
||||||
/// </summary>
|
|
||||||
public class DataColumnCollection : IEnumerable, ICollection, IEnumerator
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Get Item By Index
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="thisIndex"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public DataColumn this[int thisIndex]
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return cols[thisIndex];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private int index = -1;
|
|
||||||
private List<DataColumn> cols;
|
|
||||||
/// <summary>
|
|
||||||
/// Count
|
|
||||||
/// </summary>
|
|
||||||
public int Count
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (this.cols == null)
|
|
||||||
{
|
|
||||||
this.cols = new List<DataColumn>();
|
|
||||||
}
|
|
||||||
return this.cols.Count;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Add
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="col"></param>
|
|
||||||
public void Add(DataColumn col)
|
|
||||||
{
|
|
||||||
if (this.cols == null)
|
|
||||||
{
|
|
||||||
this.cols = new List<DataColumn>();
|
|
||||||
}
|
|
||||||
this.cols.Add(col);
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Is Synchronized
|
|
||||||
/// </summary>
|
|
||||||
public bool IsSynchronized
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Sync Root
|
|
||||||
/// </summary>
|
|
||||||
public object SyncRoot
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Current
|
|
||||||
/// </summary>
|
|
||||||
public object Current
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return cols[index];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Copy To
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="array"></param>
|
|
||||||
/// <param name="index"></param>
|
|
||||||
public void CopyTo(Array array, int index)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取该集合的 System.Collections.IEnumerator
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
public IEnumerator GetEnumerator()
|
|
||||||
{
|
|
||||||
return (IEnumerator)this; ;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Move Next
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
public bool MoveNext()
|
|
||||||
{
|
|
||||||
index++;
|
|
||||||
var isNext = index < cols.Count;
|
|
||||||
if (!isNext)
|
|
||||||
Reset();
|
|
||||||
return isNext;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Reset
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public void Reset()
|
|
||||||
{
|
|
||||||
index = -1;
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Contains Key
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="name"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
|
|
||||||
public bool ContainsKey(string name)
|
|
||||||
{
|
|
||||||
if (this.cols == null) return false;
|
|
||||||
return (this.cols.Any(it => it.ColumnName == name));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 数据行集合
|
|
||||||
/// </summary>
|
|
||||||
public class DataRowCollection : IEnumerable, ICollection, IEnumerator
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Get item by index
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="thisIndex"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public DataRow this[int thisIndex]
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return Rows[thisIndex];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private int index = -1;
|
|
||||||
private List<DataRow> Rows = null;
|
|
||||||
/// <summary>
|
|
||||||
/// Count
|
|
||||||
/// </summary>
|
|
||||||
public int Count
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (this.Rows == null)
|
|
||||||
{
|
|
||||||
this.Rows = new List<DataRow>();
|
|
||||||
}
|
|
||||||
return Rows.Count;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Current
|
|
||||||
/// </summary>
|
|
||||||
public object Current
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
if (this.Rows == null)
|
|
||||||
{
|
|
||||||
this.Rows = new List<DataRow>();
|
|
||||||
}
|
|
||||||
return Rows[index];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Is Synchronized
|
|
||||||
/// </summary>
|
|
||||||
public bool IsSynchronized
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Sync Root
|
|
||||||
/// </summary>
|
|
||||||
public object SyncRoot
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Copy To
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="array"></param>
|
|
||||||
/// <param name="index"></param>
|
|
||||||
public void CopyTo(Array array, int index)
|
|
||||||
{
|
|
||||||
throw new NotImplementedException();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 获取该集合的 System.Collections.IEnumerator。
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
public IEnumerator GetEnumerator()
|
|
||||||
{
|
|
||||||
return (IEnumerator)this; ;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Move Next
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
public bool MoveNext()
|
|
||||||
{
|
|
||||||
index++;
|
|
||||||
var isNext = index < (Rows == null ? 0 : Rows.Count);
|
|
||||||
if (!isNext)
|
|
||||||
Reset();
|
|
||||||
return isNext;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Reset
|
|
||||||
/// </summary>
|
|
||||||
public void Reset()
|
|
||||||
{
|
|
||||||
index = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Add
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="daRow"></param>
|
|
||||||
internal void Add(DataRow daRow)
|
|
||||||
{
|
|
||||||
if (Rows == null)
|
|
||||||
{
|
|
||||||
Rows = new List<DataRow>();
|
|
||||||
}
|
|
||||||
Rows.Add(daRow);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 数据行
|
|
||||||
/// </summary>
|
|
||||||
|
|
||||||
public class DataRow
|
|
||||||
{
|
|
||||||
private Dictionary<string, object> obj = new Dictionary<string, object>();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Add
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="key"></param>
|
|
||||||
/// <param name="value"></param>
|
|
||||||
public void Add(string key, object value)
|
|
||||||
{
|
|
||||||
obj.Add(key, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Get Item By Name
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="name"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public object this[string name]
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return obj[name];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public object this[DataColumn column]
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return obj[column.ColumnName];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Get Item By Index
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="index"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public object this[int index]
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int i = 0;
|
|
||||||
object reval = null;
|
|
||||||
foreach (var item in obj)
|
|
||||||
{
|
|
||||||
if (i == index)
|
|
||||||
{
|
|
||||||
reval = item.Value;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
return reval;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Contains Key
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="columnName"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public bool ContainsKey(string columnName)
|
|
||||||
{
|
|
||||||
if (this.obj == null) return false;
|
|
||||||
return (this.obj.ContainsKey(columnName));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数据填充器
|
/// 数据填充器
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -469,17 +81,16 @@ namespace SqlSugar
|
|||||||
for (int i = 0; i < dr.FieldCount; i++)
|
for (int i = 0; i < dr.FieldCount; i++)
|
||||||
{
|
{
|
||||||
string name = dr.GetName(i).Trim();
|
string name = dr.GetName(i).Trim();
|
||||||
if (!columns.ContainsKey(name))
|
if (!columns.Contains(name))
|
||||||
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
DataRow daRow = new DataRow();
|
DataRow daRow = dt.NewRow();
|
||||||
for (int i = 0; i < columns.Count; i++)
|
for (int i = 0; i < columns.Count; i++)
|
||||||
{
|
{
|
||||||
if (!daRow.ContainsKey(columns[i].ColumnName))
|
daRow[columns[i].ColumnName]=dr.GetValue(i);
|
||||||
daRow.Add(columns[i].ColumnName, dr.GetValue(i));
|
|
||||||
}
|
}
|
||||||
dt.Rows.Add(daRow);
|
dt.Rows.Add(daRow);
|
||||||
}
|
}
|
||||||
@@ -507,17 +118,16 @@ namespace SqlSugar
|
|||||||
for (int i = 0; i < dr.FieldCount; i++)
|
for (int i = 0; i < dr.FieldCount; i++)
|
||||||
{
|
{
|
||||||
string name = dr.GetName(i).Trim();
|
string name = dr.GetName(i).Trim();
|
||||||
if (!columns.ContainsKey(name))
|
if (!columns.Contains(name))
|
||||||
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
DataRow daRow = new DataRow();
|
DataRow daRow = dt.NewRow();
|
||||||
for (int i = 0; i < columns.Count; i++)
|
for (int i = 0; i < columns.Count; i++)
|
||||||
{
|
{
|
||||||
if (!daRow.ContainsKey(columns[i].ColumnName))
|
daRow[columns[i].ColumnName]=dr.GetValue(i);
|
||||||
daRow.Add(columns[i].ColumnName, dr.GetValue(i));
|
|
||||||
}
|
}
|
||||||
dt.Rows.Add(daRow);
|
dt.Rows.Add(daRow);
|
||||||
}
|
}
|
||||||
@@ -596,17 +206,16 @@ namespace SqlSugar
|
|||||||
for (int i = 0; i < dr.FieldCount; i++)
|
for (int i = 0; i < dr.FieldCount; i++)
|
||||||
{
|
{
|
||||||
string name = dr.GetName(i).Trim();
|
string name = dr.GetName(i).Trim();
|
||||||
if (!columns.ContainsKey(name))
|
if (!columns.Contains(name))
|
||||||
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
DataRow daRow = new DataRow();
|
DataRow daRow = dt.NewRow();
|
||||||
for (int i = 0; i < columns.Count; i++)
|
for (int i = 0; i < columns.Count; i++)
|
||||||
{
|
{
|
||||||
if (!daRow.ContainsKey(columns[i].ColumnName))
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
||||||
daRow.Add(columns[i].ColumnName, dr.GetValue(i));
|
|
||||||
}
|
}
|
||||||
dt.Rows.Add(daRow);
|
dt.Rows.Add(daRow);
|
||||||
}
|
}
|
||||||
@@ -634,17 +243,16 @@ namespace SqlSugar
|
|||||||
for (int i = 0; i < dr.FieldCount; i++)
|
for (int i = 0; i < dr.FieldCount; i++)
|
||||||
{
|
{
|
||||||
string name = dr.GetName(i).Trim();
|
string name = dr.GetName(i).Trim();
|
||||||
if (!columns.ContainsKey(name))
|
if (!columns.Contains(name))
|
||||||
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
DataRow daRow = new DataRow();
|
DataRow daRow = dt.NewRow();
|
||||||
for (int i = 0; i < columns.Count; i++)
|
for (int i = 0; i < columns.Count; i++)
|
||||||
{
|
{
|
||||||
if (!daRow.ContainsKey(columns[i].ColumnName))
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
||||||
daRow.Add(columns[i].ColumnName, dr.GetValue(i));
|
|
||||||
}
|
}
|
||||||
dt.Rows.Add(daRow);
|
dt.Rows.Add(daRow);
|
||||||
}
|
}
|
||||||
@@ -724,17 +332,16 @@ namespace SqlSugar
|
|||||||
for (int i = 0; i < dr.FieldCount; i++)
|
for (int i = 0; i < dr.FieldCount; i++)
|
||||||
{
|
{
|
||||||
string name = dr.GetName(i).Trim();
|
string name = dr.GetName(i).Trim();
|
||||||
if (!columns.ContainsKey(name))
|
if (!columns.Contains(name))
|
||||||
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
DataRow daRow = new DataRow();
|
DataRow daRow = dt.NewRow();
|
||||||
for (int i = 0; i < columns.Count; i++)
|
for (int i = 0; i < columns.Count; i++)
|
||||||
{
|
{
|
||||||
if (!daRow.ContainsKey(columns[i].ColumnName))
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
||||||
daRow.Add(columns[i].ColumnName, dr.GetValue(i));
|
|
||||||
}
|
}
|
||||||
dt.Rows.Add(daRow);
|
dt.Rows.Add(daRow);
|
||||||
}
|
}
|
||||||
@@ -762,17 +369,16 @@ namespace SqlSugar
|
|||||||
for (int i = 0; i < dr.FieldCount; i++)
|
for (int i = 0; i < dr.FieldCount; i++)
|
||||||
{
|
{
|
||||||
string name = dr.GetName(i).Trim();
|
string name = dr.GetName(i).Trim();
|
||||||
if (!columns.ContainsKey(name))
|
if (!columns.Contains(name))
|
||||||
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
DataRow daRow = new DataRow();
|
DataRow daRow = dt.NewRow();
|
||||||
for (int i = 0; i < columns.Count; i++)
|
for (int i = 0; i < columns.Count; i++)
|
||||||
{
|
{
|
||||||
if (!daRow.ContainsKey(columns[i].ColumnName))
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
||||||
daRow.Add(columns[i].ColumnName, dr.GetValue(i));
|
|
||||||
}
|
}
|
||||||
dt.Rows.Add(daRow);
|
dt.Rows.Add(daRow);
|
||||||
}
|
}
|
||||||
@@ -852,17 +458,16 @@ namespace SqlSugar
|
|||||||
for (int i = 0; i < dr.FieldCount; i++)
|
for (int i = 0; i < dr.FieldCount; i++)
|
||||||
{
|
{
|
||||||
string name = dr.GetName(i).Trim();
|
string name = dr.GetName(i).Trim();
|
||||||
if (!columns.ContainsKey(name))
|
if (!columns.Contains(name))
|
||||||
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
DataRow daRow = new DataRow();
|
DataRow daRow = dt.NewRow();
|
||||||
for (int i = 0; i < columns.Count; i++)
|
for (int i = 0; i < columns.Count; i++)
|
||||||
{
|
{
|
||||||
if (!daRow.ContainsKey(columns[i].ColumnName))
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
||||||
daRow.Add(columns[i].ColumnName, dr.GetValue(i));
|
|
||||||
}
|
}
|
||||||
dt.Rows.Add(daRow);
|
dt.Rows.Add(daRow);
|
||||||
}
|
}
|
||||||
@@ -890,17 +495,16 @@ namespace SqlSugar
|
|||||||
for (int i = 0; i < dr.FieldCount; i++)
|
for (int i = 0; i < dr.FieldCount; i++)
|
||||||
{
|
{
|
||||||
string name = dr.GetName(i).Trim();
|
string name = dr.GetName(i).Trim();
|
||||||
if (!columns.ContainsKey(name))
|
if (!columns.Contains(name))
|
||||||
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
DataRow daRow = new DataRow();
|
DataRow daRow = dt.NewRow();
|
||||||
for (int i = 0; i < columns.Count; i++)
|
for (int i = 0; i < columns.Count; i++)
|
||||||
{
|
{
|
||||||
if (!daRow.ContainsKey(columns[i].ColumnName))
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
||||||
daRow.Add(columns[i].ColumnName, dr.GetValue(i));
|
|
||||||
}
|
}
|
||||||
dt.Rows.Add(daRow);
|
dt.Rows.Add(daRow);
|
||||||
}
|
}
|
||||||
@@ -980,17 +584,16 @@ namespace SqlSugar
|
|||||||
for (int i = 0; i < dr.FieldCount; i++)
|
for (int i = 0; i < dr.FieldCount; i++)
|
||||||
{
|
{
|
||||||
string name = dr.GetName(i).Trim();
|
string name = dr.GetName(i).Trim();
|
||||||
if (!columns.ContainsKey(name))
|
if (!columns.Contains(name))
|
||||||
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
DataRow daRow = new DataRow();
|
DataRow daRow = dt.NewRow();
|
||||||
for (int i = 0; i < columns.Count; i++)
|
for (int i = 0; i < columns.Count; i++)
|
||||||
{
|
{
|
||||||
if (!daRow.ContainsKey(columns[i].ColumnName))
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
||||||
daRow.Add(columns[i].ColumnName, dr.GetValue(i));
|
|
||||||
}
|
}
|
||||||
dt.Rows.Add(daRow);
|
dt.Rows.Add(daRow);
|
||||||
}
|
}
|
||||||
@@ -1018,17 +621,16 @@ namespace SqlSugar
|
|||||||
for (int i = 0; i < dr.FieldCount; i++)
|
for (int i = 0; i < dr.FieldCount; i++)
|
||||||
{
|
{
|
||||||
string name = dr.GetName(i).Trim();
|
string name = dr.GetName(i).Trim();
|
||||||
if (!columns.ContainsKey(name))
|
if (!columns.Contains(name))
|
||||||
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
columns.Add(new DataColumn(name, dr.GetFieldType(i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
while (dr.Read())
|
while (dr.Read())
|
||||||
{
|
{
|
||||||
DataRow daRow = new DataRow();
|
DataRow daRow = dt.NewRow();
|
||||||
for (int i = 0; i < columns.Count; i++)
|
for (int i = 0; i < columns.Count; i++)
|
||||||
{
|
{
|
||||||
if (!daRow.ContainsKey(columns[i].ColumnName))
|
daRow[columns[i].ColumnName] = dr.GetValue(i);
|
||||||
daRow.Add(columns[i].ColumnName, dr.GetValue(i));
|
|
||||||
}
|
}
|
||||||
dt.Rows.Add(daRow);
|
dt.Rows.Add(daRow);
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Data;
|
||||||
|
|
||||||
namespace SqlSugar
|
namespace SqlSugar
|
||||||
{
|
{
|
||||||
public interface IDataAdapter
|
public interface IDataAdapter
|
||||||
|
Reference in New Issue
Block a user