数据结构类,相当于数据库表结构类似
using UnityEngine; using System.Collections; public class Persss { public string Name { get ; set ; } public string Msg { get ; set ; } public int OID { get ; set ; } }
数据操作的相对Persss的一个封装类,使数据操作更清晰
using UnityEngine; using System.Collections; using System; using System.Collections.Generic; using System.Linq; using Sqo; public class MyPManager { public static List<Persss> GetRecentPlayers( int count) { Siaqodb database = MyDBFactory.GetInstance(); IEnumerable <Persss> query = ( from Persss player in database orderby player.OID descending select player).Take(count); return query.ToList<Persss> (); } public static Persss LoadPlayer( string name) { Siaqodb database = MyDBFactory.GetInstance(); Persss p = ( from Persss player in database where player.Name == name select player).FirstOrDefault<Persss> (); if (p == null ) // not exists so create and save { p = new Persss(); p.Name = name; p.Msg = "未找到 " ; } return p; } public static int TotalPlayers() { Siaqodb database = MyDBFactory.GetInstance(); return database.Count<Persss> (); } public static void SavePlayer(Persss p) { Siaqodb database = MyDBFactory.GetInstance(); database.StoreObject(p); } }
主要的类
using UnityEngine; using System.Collections; using System.Collections.Generic; using System; using System.IO; using Sqo; using UnityEngine.UI; using System.Linq; public class mySiaqodbDemo : MonoBehaviour { Siaqodb database; public InputField inset_name; public InputField inset_msg; public InputField read_name; public InputField read_msg; public InputField read_Oid; public Text show_text; public InputField up_name; public InputField up_msg; public InputField up_Oid; public InputField del_input; // Use this for initialization void Start () { database = MyDBFactory.GetInstance(); List <Persss> recentPlayers = MyPManager.GetRecentPlayers(MyPManager.TotalPlayers()); Debug.Log( " Perss count is " + MyPManager.TotalPlayers() ); foreach (Persss p3 in recentPlayers) { Debug.Log( " OID: " +p3.OID.ToString() + " Name: " + p3.Name + " Message: " + p3.Msg + " --end-- " ); if (p3.OID< 410 ) { // database.Delete(p3); } } } public void BtnInSertData() { Persss p = new Persss(); string n = inset_name.text.Trim(); string ms = inset_msg.text.Trim(); if ( n.Length > 1 && ms.Length > 1 ) { p.Name = inset_name.text; p.Msg = inset_msg.text; MyPManager.SavePlayer(p); } BtnReadAllData(); } public void BtnReadDataByOID() { int ood = Convert.ToInt32(read_Oid.text); Debug.Log(ood); Persss dss = ( from Persss p in database where (p.OID == ood) select p).FirstOrDefault(); if (dss != null ) { // Persss dssp = dss as Persss; read_name.text = dss.Name; read_msg.text = dss.Msg; read_Oid.text = dss.OID.ToString(); up_Oid.text = dss.OID.ToString(); up_name.text = dss.Name; up_msg.text = dss.Msg; } else { read_Oid.text = " 空值 " ; } } public void BtnReadAllData() { List <Persss> recentPlayers = MyPManager.GetRecentPlayers(MyPManager.TotalPlayers()); Debug.Log( " Perss count is " + MyPManager.TotalPlayers() ); show_text.text = "" ; foreach (Persss p3 in recentPlayers) { Debug.Log( " OID: " +p3.OID.ToString() + " Name: " + p3.Name + " Message: " + p3.Msg + " --end-- " ); Debug.Log( " ReadAllDate " ); show_text.text += " OID: " + p3.OID.ToString() + " Name: " + p3.Name + " Message: " + p3.Msg + " --end-- " ; } } public void BtnUpdateDataByOID() { Persss u = ( from Persss p in database where (p.OID == Convert.ToInt32(up_Oid.text)) select p).FirstOrDefault(); Debug.Log( up_Oid.text); if (u != null ) { u.Name = up_name.text; u.Msg = up_msg.text; // u.OID =Convert.ToInt32( up_Oid.text ); Debug.Log( " UpdataByOID " ); database.StoreObject(u); } BtnReadAllData(); } public void BtnDeleteDataByName() { Persss dss = ( from Persss p in database where (p.Name == del_input.text ) select p).FirstOrDefault(); if (dss != null ) { database.Delete(dss); } BtnReadAllData(); } public void BtnDeleteDataByMsg() { Persss dss = ( from Persss p in database where (p.Msg == del_input.text) select p).FirstOrDefault(); if (dss != null ) { database.Delete(dss); } BtnReadAllData(); } public void BtnDeleteDataByOID() { Persss dss = ( from Persss p in database where (p.OID == Convert.ToInt32 (del_input.text)) select p).FirstOrDefault(); if (dss != null ) { database.Delete(dss); } BtnReadAllData(); } void OnApplicationQuit() { database = null ; } }
Unity3D主界面
插入数据测试
其它功能类似可用
Unity3D使用Siaqodb基本增删改查Demo
标签:
查看更多关于Unity3D使用Siaqodb基本增删改查Demo的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did160764