From dedf4dce8e045d630d72e79726620b48f9d94695 Mon Sep 17 00:00:00 2001 From: jkpete <1031139173@qq.com> Date: Mon, 14 Jul 2025 08:54:51 +0800 Subject: [PATCH] fix sqliteSave's get key --- Example/SaveSystem/Script/ViewSaveSystem.cs | 6 ++++++ .../GenerateTools/Templete/Godot/UI/EGodotSaveTable.cs | 4 ---- addons/EGFramework/Module/SaveTools/Data/EGDapper.cs | 2 +- addons/EGFramework/Module/SaveTools/Data/EGSqliteSave.cs | 9 ++++++++- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Example/SaveSystem/Script/ViewSaveSystem.cs b/Example/SaveSystem/Script/ViewSaveSystem.cs index 6938169..e587b70 100644 --- a/Example/SaveSystem/Script/ViewSaveSystem.cs +++ b/Example/SaveSystem/Script/ViewSaveSystem.cs @@ -27,6 +27,12 @@ namespace EGFramework.Examples.Test { table.InitData(dataStudents); EGSqliteSave SqliteTest = this.EGSave().Load("SaveData/test.db"); + // IEnumerable dataBaseKey = SqliteTest.GetKeys(); + // GD.Print(dataBaseKey); + // foreach (string data in dataBaseKey) + // { + // GD.Print(data); + // } EGodotSaveTable PersonTable = container.CreateNode("SQLite"); PersonTable.InitSaveData(SqliteTest); PersonTable.InitData("person"); diff --git a/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotSaveTable.cs b/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotSaveTable.cs index b7532e3..1ccdb4d 100644 --- a/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotSaveTable.cs +++ b/addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotSaveTable.cs @@ -1,7 +1,4 @@ using System.Collections.Generic; -using System.Linq; -using Godot; -using MySqlX.XDevAPI.Relational; namespace EGFramework.UI { @@ -49,7 +46,6 @@ namespace EGFramework.UI } TableData = SaveData.GetPage(CurrentDataKey, PageAdapter.CurrentPage, PageAdapter.PageLimit).EGenerateDictionaryByGroup(); - GD.Print(TableData.Count()); } public override void OnAddData(Dictionary data) diff --git a/addons/EGFramework/Module/SaveTools/Data/EGDapper.cs b/addons/EGFramework/Module/SaveTools/Data/EGDapper.cs index 5b4403c..3dad163 100644 --- a/addons/EGFramework/Module/SaveTools/Data/EGDapper.cs +++ b/addons/EGFramework/Module/SaveTools/Data/EGDapper.cs @@ -203,7 +203,7 @@ namespace EGFramework int count = Connection.Execute(sql, data); } - public IEnumerable GetKeys() + public virtual IEnumerable GetKeys() { IEnumerable result = Connection.Query("show tables"); return result; diff --git a/addons/EGFramework/Module/SaveTools/Data/EGSqliteSave.cs b/addons/EGFramework/Module/SaveTools/Data/EGSqliteSave.cs index 8e967cd..c06f138 100644 --- a/addons/EGFramework/Module/SaveTools/Data/EGSqliteSave.cs +++ b/addons/EGFramework/Module/SaveTools/Data/EGSqliteSave.cs @@ -1,5 +1,7 @@ using System; +using System.Collections.Generic; using System.IO; +using Dapper; using Microsoft.Data.Sqlite; namespace EGFramework{ @@ -27,7 +29,7 @@ namespace EGFramework{ /// name is the file path.such as SaveData.db public void InitDatabase(string dataBaseName) { - Connection = new SqliteConnection("Data Source="+dataBaseName+";Mode=ReadWriteCreate;"); // Open the connection: + Connection = new SqliteConnection("Data Source=" + dataBaseName + ";Mode=ReadWriteCreate;"); // Open the connection: try { // Connection.Open(); @@ -39,5 +41,10 @@ namespace EGFramework{ ExceptionMsg = ex.ToString(); } } + public override IEnumerable GetKeys() + { + IEnumerable result = Connection.Query("SELECT name FROM sqlite_schema WHERE type='table' AND name NOT LIKE 'sqlite_%'"); + return result; + } } } \ No newline at end of file