mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-12-24 01:25:48 +08:00
- 修复 Ado.Query 查询字段重复时报错;#162 #165 #161 - 增加 FreeSql.Provider.MsAccess 支持 Access 数据库操作,已通过 2003/2007 版本测试;
This commit is contained in:
@@ -111,6 +111,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -153,6 +154,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -169,6 +171,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -219,6 +222,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -235,6 +239,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -251,6 +256,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -307,6 +313,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -323,6 +330,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -339,6 +347,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -355,6 +364,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -417,6 +427,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -433,6 +444,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -449,6 +461,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -465,6 +478,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -481,6 +495,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -655,7 +670,12 @@ namespace FreeSql.Internal.CommonProvider
|
||||
if (ret.Tables.Count <= result)
|
||||
{
|
||||
dt = ret.Tables.Add();
|
||||
for (var a = 0; a < dr.FieldCount; a++) dt.Columns.Add(dr.GetName(a));
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dt.Columns.Contains(name)) name = $"{name}_{Guid.NewGuid().ToString("N").Substring(0, 4)}";
|
||||
dt.Columns.Add(name);
|
||||
}
|
||||
}
|
||||
object[] values = new object[dt.Columns.Count];
|
||||
dr.GetValues(values);
|
||||
@@ -674,7 +694,12 @@ namespace FreeSql.Internal.CommonProvider
|
||||
ExecuteReader(connection, transaction, dr =>
|
||||
{
|
||||
if (ret.Columns.Count == 0)
|
||||
for (var a = 0; a < dr.FieldCount; a++) ret.Columns.Add(dr.GetName(a));
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (ret.Columns.Contains(name)) name = $"{name}_{Guid.NewGuid().ToString("N").Substring(0, 4)}";
|
||||
ret.Columns.Add(name);
|
||||
}
|
||||
object[] values = new object[ret.Columns.Count];
|
||||
dr.GetValues(values);
|
||||
ret.Rows.Add(values);
|
||||
|
||||
@@ -35,6 +35,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -78,6 +79,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -94,6 +96,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -145,6 +148,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -161,6 +165,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -177,6 +182,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -234,6 +240,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -250,6 +257,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -266,6 +274,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -282,6 +291,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -345,6 +355,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -361,6 +372,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -377,6 +389,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -393,6 +406,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -409,6 +423,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dic.ContainsKey(name)) continue;
|
||||
sbflag.Append(name).Append(":").Append(a).Append(",");
|
||||
dic.Add(name, a);
|
||||
}
|
||||
@@ -585,7 +600,12 @@ namespace FreeSql.Internal.CommonProvider
|
||||
if (ret.Tables.Count <= result)
|
||||
{
|
||||
dt = ret.Tables.Add();
|
||||
for (var a = 0; a < dr.FieldCount; a++) dt.Columns.Add(dr.GetName(a));
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (dt.Columns.Contains(name)) name = $"{name}_{Guid.NewGuid().ToString("N").Substring(0, 4)}";
|
||||
dt.Columns.Add(name);
|
||||
}
|
||||
}
|
||||
object[] values = new object[dt.Columns.Count];
|
||||
for (int a = 0; a < values.Length; a++) if (!await dr.IsDBNullAsync(a)) values[a] = await dr.GetFieldValueAsync<object>(a);
|
||||
@@ -604,7 +624,12 @@ namespace FreeSql.Internal.CommonProvider
|
||||
await ExecuteReaderAsync(connection, transaction, async dr =>
|
||||
{
|
||||
if (ret.Columns.Count == 0)
|
||||
for (var a = 0; a < dr.FieldCount; a++) ret.Columns.Add(dr.GetName(a));
|
||||
for (var a = 0; a < dr.FieldCount; a++)
|
||||
{
|
||||
var name = dr.GetName(a);
|
||||
if (ret.Columns.Contains(name)) name = $"{name}_{Guid.NewGuid().ToString("N").Substring(0, 4)}";
|
||||
ret.Columns.Add(name);
|
||||
}
|
||||
object[] values = new object[ret.Columns.Count];
|
||||
for (int a = 0; a < values.Length; a++) if (!await dr.IsDBNullAsync(a)) values[a] = await dr.GetFieldValueAsync<object>(a);
|
||||
ret.Rows.Add(values);
|
||||
|
||||
Reference in New Issue
Block a user