Update access

This commit is contained in:
sunkaixuan 2022-02-26 14:36:59 +08:00
parent ad6f3c71c5
commit 4e68a0ce12
2 changed files with 37 additions and 10 deletions

View File

@ -11,8 +11,6 @@ namespace OrmTest
/// <param name="args"></param> /// <param name="args"></param>
static void Main(string[] args) static void Main(string[] args)
{ {
//Demo
Demo0_SqlSugarClient.Init(); Demo0_SqlSugarClient.Init();
Demo1_Queryable.Init(); Demo1_Queryable.Init();
Demo2_Updateable.Init(); Demo2_Updateable.Init();
@ -20,7 +18,7 @@ namespace OrmTest
Demo4_Deleteable.Init(); Demo4_Deleteable.Init();
Demo5_SqlQueryable.Init(); Demo5_SqlQueryable.Init();
Demo7_Ado.Init(); Demo7_Ado.Init();
//DemoD_DbFirst.Init(); DemoD_DbFirst.Init();
Console.WriteLine("all successfully."); Console.WriteLine("all successfully.");
Console.ReadKey(); Console.ReadKey();
} }

View File

@ -316,19 +316,45 @@ namespace SqlSugar.Access
{ {
//base.AddDefaultValue(entityInfo); //base.AddDefaultValue(entityInfo);
} }
public override List<DbTableInfo> GetViewInfoList(bool isCache = true)
{
return new List<DbTableInfo>();
}
public override List<DbTableInfo> GetTableInfoList(bool isCache = true) public override List<DbTableInfo> GetTableInfoList(bool isCache = true)
{ {
// (this.Context.Ado.Connection as OleDbConnection).Open(); bool isOpen = Open();
var table = (this.Context.Ado.Connection as OleDbConnection).GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "Table" }); var table = (this.Context.Ado.Connection as OleDbConnection).GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new Object[] { null, null, null, "Table" });
var result= table var result = table
.Rows.Cast<DataRow>().Select(it=>new DbTableInfo .Rows.Cast<DataRow>().Select(it => new DbTableInfo
{ {
Name=it["TABLE_NAME"]+"", Name = it["TABLE_NAME"] + "",
Description=it["DESCRIPTION"]+"" Description = it["DESCRIPTION"] + ""
}).ToList(); }).ToList();
Close(isOpen);
return result; return result;
} }
private void Close(bool isOpen)
{
if (this.Context.CurrentConnectionConfig.IsAutoCloseConnection = true && isOpen)
{
this.Context.Ado.Connection.Close();
}
}
private bool Open()
{
var isOpen = false;
if (this.Context.CurrentConnectionConfig.IsAutoCloseConnection = true && this.Context.Ado.Connection.State == ConnectionState.Closed)
{
this.Context.Ado.Connection.Open();
isOpen = true;
}
return isOpen;
}
public List<string> GetSchemas() public List<string> GetSchemas()
{ {
return this.Context.Ado.SqlQuery<string>("SELECT name FROM sys.schemas where name <> 'dbo'"); return this.Context.Ado.SqlQuery<string>("SELECT name FROM sys.schemas where name <> 'dbo'");
@ -438,9 +464,11 @@ namespace SqlSugar.Access
} }
public override List<DbColumnInfo> GetColumnInfosByTableName(string tableName, bool isCache = true) public override List<DbColumnInfo> GetColumnInfosByTableName(string tableName, bool isCache = true)
{ {
List<DbColumnInfo> columns = new List<DbColumnInfo>(); List<DbColumnInfo> columns = new List<DbColumnInfo>();
var dt = this.Context.Ado.GetDataTable("select top 8 * from " +this.SqlBuilder.GetTranslationTableName(tableName)); var dt = this.Context.Ado.GetDataTable("select top 8 * from " +this.SqlBuilder.GetTranslationTableName(tableName));
var oleDb = (this.Context.Ado.Connection as OleDbConnection); var oleDb = (this.Context.Ado.Connection as OleDbConnection);
bool isOpen = Open();
DataTable columnTable = oleDb.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null,tableName, null }); DataTable columnTable = oleDb.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null,tableName, null });
DataTable Pk = oleDb.GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, new string[] { null, null, tableName }); DataTable Pk = oleDb.GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, new string[] { null, null, tableName });
foreach (DataRow dr in columnTable.Rows) foreach (DataRow dr in columnTable.Rows)
@ -480,6 +508,7 @@ namespace SqlSugar.Access
} }
columns.Add(info); columns.Add(info);
} }
Close(isOpen);
return columns; return columns;
} }
public override bool RenameColumn(string tableName, string oldColumnName, string newColumnName) public override bool RenameColumn(string tableName, string oldColumnName, string newColumnName)