Browse Source

fix sqliteSave's get key

master
jkpete 4 weeks ago
parent
commit
dedf4dce8e
  1. 6
      Example/SaveSystem/Script/ViewSaveSystem.cs
  2. 4
      addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotSaveTable.cs
  3. 2
      addons/EGFramework/Module/SaveTools/Data/EGDapper.cs
  4. 9
      addons/EGFramework/Module/SaveTools/Data/EGSqliteSave.cs

6
Example/SaveSystem/Script/ViewSaveSystem.cs

@ -27,6 +27,12 @@ namespace EGFramework.Examples.Test { @@ -27,6 +27,12 @@ namespace EGFramework.Examples.Test {
table.InitData<DataStudent>(dataStudents);
EGSqliteSave SqliteTest = this.EGSave().Load<EGSqliteSave>("SaveData/test.db");
// IEnumerable<string> dataBaseKey = SqliteTest.GetKeys();
// GD.Print(dataBaseKey);
// foreach (string data in dataBaseKey)
// {
// GD.Print(data);
// }
EGodotSaveTable PersonTable = container.CreateNode<EGodotSaveTable>("SQLite");
PersonTable.InitSaveData<EGSqliteSave>(SqliteTest);
PersonTable.InitData<DataPerson>("person");

4
addons/EGFramework/Module/GenerateTools/Templete/Godot/UI/EGodotSaveTable.cs

@ -1,7 +1,4 @@ @@ -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 @@ -49,7 +46,6 @@ namespace EGFramework.UI
}
TableData = SaveData.GetPage<T>(CurrentDataKey, PageAdapter.CurrentPage, PageAdapter.PageLimit).EGenerateDictionaryByGroup();
GD.Print(TableData.Count());
}
public override void OnAddData(Dictionary<string, object> data)

2
addons/EGFramework/Module/SaveTools/Data/EGDapper.cs

@ -203,7 +203,7 @@ namespace EGFramework @@ -203,7 +203,7 @@ namespace EGFramework
int count = Connection.Execute(sql, data);
}
public IEnumerable<string> GetKeys()
public virtual IEnumerable<string> GetKeys()
{
IEnumerable<string> result = Connection.Query<string>("show tables");
return result;

9
addons/EGFramework/Module/SaveTools/Data/EGSqliteSave.cs

@ -1,5 +1,7 @@ @@ -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{ @@ -27,7 +29,7 @@ namespace EGFramework{
/// <param name="dataBaseName">name is the file path.such as SaveData.db</param>
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{ @@ -39,5 +41,10 @@ namespace EGFramework{
ExceptionMsg = ex.ToString();
}
}
public override IEnumerable<string> GetKeys()
{
IEnumerable<string> result = Connection.Query<string>("SELECT name FROM sqlite_schema WHERE type='table' AND name NOT LIKE 'sqlite_%'");
return result;
}
}
}
Loading…
Cancel
Save