コード例 #1
0
 // Use this for initialization
 void Start()
 {
     Debug.Log (Application.persistentDataPath);
             SQLiteDB db = new SQLiteDB (Application.dataPath + "/huhu");
             db.Query ("CREATE TABLE test (name VARCHAR(20), score INT)");
             db.Query ("CREATE TABLE test2 (label TEXT, position REAL)");
 }
コード例 #2
0
	public void OpenDB(string p)
	{
		db = new SQLiteDB();
		string filename = Application.persistentDataPath + "/" + p;
		Debug.Log("Stablishing connection to: " + filename);
		db.Open(filename);
	}
コード例 #3
0
ファイル: optionDB.cs プロジェクト: CoderBear/AAUnity
    public bool getStatus(int id)
    {
        bool result = false;
        int num;

        string dbFile = Application.persistentDataPath + "/optionDB_playmaker.db";
        SQLiteDB db = new SQLiteDB();

        db.Open(dbFile);
        SQLiteQuery qr = new SQLiteQuery(db, "SELECT result FROM option_table WHERE id=?");
        qr.Bind(id);
        qr.Step();
        num = qr.GetInteger("result");
        switch (num)
        {
            case 0:
                result = false;
                break;
            case 1:
                result = true;
                break;
        }

        qr.Release();
        db.Close();

        return result;
    }
コード例 #4
0
ファイル: SQLiteQuery.cs プロジェクト: georgex1/rednit
	public SQLiteQuery( SQLiteDB sqliteDb, string query )
	{
		bindIndex = 1;
		db = sqliteDb.Connection();
		if( Sqlite3.sqlite3_prepare_v2( db, query, query.Length, ref vm, 0 ) != Sqlite3.SQLITE_OK ) 
		{ 
			throw new Exception( "Error with prepare query! error:" + Sqlite3.sqlite3_errmsg(db) ); 
		};
	}
コード例 #5
0
ファイル: DataManager.cs プロジェクト: Everscent/lol-database
	void InitDatabase(){
		byte[] bytes = null;
		db = new SQLiteDB();
		string dbfilename = "LOLDatabase.sqlite";
		string filename = Application.persistentDataPath + "/" + dbfilename;
		/*
		if (File.Exists(filename)) {
			db.Open(filename);
			dbOk = true;
			ReadDatabase();
			return;
		}
		 */
		#if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
			string dbpath = "file://" + Application.streamingAssetsPath + "/" + dbfilename;
			WWW www = new WWW(dbpath);
			Download(www);
			bytes = www.bytes;
		#elif UNITY_WEBPLAYER
			string dbpath = "StreamingAssets/" + dbfilename;
			Debug.Log("dbpath:" + dbpath);
			WWW www = new WWW(dbpath);
			Download(www);
			bytes = www.bytes;
		#elif UNITY_IPHONE
			string dbpath = Application.dataPath + "/Raw/" + dbfilename;
			try{	
				using ( FileStream fs = new FileStream(dbpath, FileMode.Open, FileAccess.Read, FileShare.Read) ){
					bytes = new byte[fs.Length];
					fs.Read(bytes,0,(int)fs.Length);
				}			
			} catch (Exception e){
			}
		#elif UNITY_ANDROID
			string dbpath = Application.streamingAssetsPath + "/" + dbfilename;
			WWW www = new WWW(dbpath);
			Download(www);
			bytes = www.bytes;
		#endif
		if ( bytes != null ) {
			try {	
				using( FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write) ) {
					fs.Write(bytes,0,bytes.Length);
				}
				db.Open(filename);
				dbOk = true;;
				ReadDatabase();
				
			} catch (Exception e){
			}
		}
	}
コード例 #6
0
ファイル: optionDB.cs プロジェクト: CoderBear/AAUnity
    public void setStatus(int id, int choice)
    {
        string dbFile = Application.persistentDataPath + "/optionDB_playmaker.db";
        SQLiteDB db = new SQLiteDB();

        string query = "UPDATE option_table SET Unlocked = " + choice.ToString() + " WHERE id =" + id.ToString();
        db.Open(dbFile);

        SQLiteQuery qr = new SQLiteQuery(db, query);
        qr.Step();
        qr.Release();
        db.Close();
    }
コード例 #7
0
ファイル: PlayerDB.cs プロジェクト: CoderBear/ARG-Zombies
	public int getDefense() {
		int num = 0;
		string dbFile = Application.persistentDataPath + "/playerDB.db";
		SQLiteDB db = new SQLiteDB ();
		
		db.Open (dbFile);
		SQLiteQuery qr = new SQLiteQuery (db, "SELECT defense FROM player_info WHERE id=1");
		qr.Step ();
		num = qr.GetInteger ("defense");
		qr.Release ();
		db.Close ();
		
		return num;
	}
コード例 #8
0
ファイル: StatsDB.cs プロジェクト: CoderBear/AAUnity
	public void StoreValue (int id, int a_value)
	{	
		SQLiteQuery qr;
		string query = "UPDATE stats_table SET value = " + a_value.ToString() + " WHERE id =" + id.ToString();
		
		SQLiteDB db = new SQLiteDB ();
		string filename = Application.persistentDataPath + "/statsDB_playmaker.db";
					
		db.Open (filename);
		qr = new SQLiteQuery (db, query);
		qr.Step ();
		qr.Release();
		db.Close ();
	}
コード例 #9
0
ファイル: MobDB.cs プロジェクト: CoderBear/ARG-Zombies
	public int getMoney(int id) {
		int num = 0;
		string dbFile = Application.persistentDataPath + "/mobDB.db";
		SQLiteDB db = new SQLiteDB ();
		
		db.Open (dbFile);
		SQLiteQuery qr = new SQLiteQuery (db, "SELECT money FROM mob_info WHERE id=?");
		qr.Bind (id);
		qr.Step ();
		num = qr.GetInteger ("money");
		qr.Release ();
		db.Close ();
		
		return num;
	}
コード例 #10
0
ファイル: AchieveDB.cs プロジェクト: CoderBear/AAUnity
	public string getName(int id) {
		string name = "";
		string dbFile = Application.persistentDataPath + "/achieveDB_playmaker.db";
		SQLiteDB db = new SQLiteDB();
		
		db.Open(dbFile);
		SQLiteQuery qr = new SQLiteQuery(db, "SELECT Name FROM achieve_table WHERE id=?");
		qr.Bind(id);
		while (qr.Step()) {
			name = qr.GetString("Name");
		}
		qr.Release();
		db.Close();
		return name;
	}
コード例 #11
0
ファイル: AchieveDB.cs プロジェクト: CoderBear/AAUnity
	public int getTarget(int id) {
		int num = 0;
		
		string dbFile = Application.persistentDataPath + "/achieveDB_playmaker.db";
		SQLiteDB db = new SQLiteDB();
		
		db.Open(dbFile);
		SQLiteQuery qr = new SQLiteQuery(db, "SELECT Target FROM achieve_table WHERE id=?");
		qr.Bind(id);
		qr.Step();
		num = qr.GetInteger("Target");
		qr.Release();
		db.Close();
		
		return num;
	}
コード例 #12
0
ファイル: AchieveDB.cs プロジェクト: CoderBear/AAUnity
	public string getDesc(int id) {
		string description = "";
		
		string dbFile = Application.persistentDataPath + "/achieveDB_playmaker.db";
		SQLiteDB db = new SQLiteDB();
		
		db.Open(dbFile);
		SQLiteQuery qr = new SQLiteQuery(db, "SELECT Description FROM achieve_table WHERE id=?");
		qr.Bind(id);
		while (qr.Step()) {
			description = qr.GetString("Description");
		}
		qr.Release();
		db.Close();
		
		return description;
	}
コード例 #13
0
ファイル: TableObject.cs プロジェクト: Biont/Unity3D-Database
    public TableObject(SQLiteDB db, string table)
    {
        this.db = db;
                workingTable = table;

                names = new List<string> ();
                types = new List<string> ();

                columns = this.db.ColumnInfo (workingTable);

                GetRowCount ();
                foreach (ColumnObject column in columns) {
                        names.Add (column.name);
                        types.Add (column.type);

                }
    }
コード例 #14
0
ファイル: StatsDB.cs プロジェクト: CoderBear/AAUnity
	public int getValue (string name)
	{
		int num = 0;
		string filename = Application.persistentDataPath + "/statsDB_playmaker.db";
					
		SQLiteDB db = new SQLiteDB ();
		SQLiteQuery qr;
		string query = "SELECT value FROM stats_table WHERE name =?";
		db.Open (filename);
		qr = new SQLiteQuery (db, query);
		qr.Bind (name);
		qr.Step ();
		num = qr.GetInteger ("value");
		qr.Release ();
		db.Close ();
		
		return num;
	}
コード例 #15
0
        public void ClearFrontAccountByBack()
        {
            if (Desk.Instance.Players.Sum(p => p.Balance) > 0)
            {
                return;
            }
            using (var db = new SQLiteDB())
            {
                var account = db.FrontAccounts.First(acc => acc.IsClear == false);
                if (account == null)
                {
                    return;
                }
                account.IsClear   = true;
                account.ClearTime = DateTime.Now;

                db.BetScoreRecords.RemoveRange(db.BetScoreRecords);
                db.SaveChanges();
            }
        }
コード例 #16
0
        public FrontAccount SelectAccount(int index)
        {
            try
            {
                using (var db = new SQLiteDB())
                {
                    var count   = db.FrontAccounts.Count();
                    var account = db.FrontAccounts.OrderByDescending(a => a.CreateTime).Skip(index).FirstOrDefault();
                    return(account);
                }
            }
            catch (Exception ex)
            {
#if DEBUG
                MessageBox.Show(ex.Message);
#endif
                MessageBox.Show("读取账本失败");
            }
            return(null);
        }
コード例 #17
0
        private void PreProcessing(SQLiteDB db, List <string> queries)
        {
            if (queries == null)
            {
                return;
            }
            foreach (string sql in queries)
            {
                try
                {
                    Logger.LogMessage(db.databaseName + ":EXECUTE:" + sql);

                    db.Execute(sql);
                }
                catch (Exception ex)
                {
                    Logger.LogException(ex, Thread.CurrentThread);
                }
            }
        }
コード例 #18
0
        public void SQLiteDB_Close_void_ret_void()
        {
            // Prepara
            IDataBase db     = new SQLiteDB();
            string    closed = db.ConnectionState.ToString();

            db.Close();
            db.ConnectionString = "TestDataBase";
            db.Open();
            string opened = db.ConnectionState.ToString();

            // Ejecuta
            db.Close();

            // Comprueba
            db.Close();
            Assert.AreEqual("Closed", closed);
            Assert.AreEqual("Open", opened);
            Assert.AreEqual("Closed", db.ConnectionState.ToString());
        }
コード例 #19
0
    public void Update_all_where_idx(
        int a_idx,
        ST_S_PlayerWeaponRec rec
        )
    {
        if (_db == null)
        {
            _db = new SQLiteDB();
        }
        try
        {
            _db.Open(GetFileName_DB());

            SQLiteQuery qr;
            string      strsql = string.Format(_queryUpdate_all_where_idx, a_idx); //
            qr = new SQLiteQuery(_db, strsql);
            qr.Bind(rec.slot_no);
            qr.Bind(rec.weapon_datacode);
            qr.Bind(rec.up_level);
            qr.Bind(rec.up_dur);
            qr.Bind(rec.up_attack);
            qr.Bind(rec.up_critical_ratio);
            qr.Bind(rec.upgrade_limit);
            qr.Bind(rec.up_attack_speed);
            qr.Bind(rec.class_no);
            qr.Bind(rec.count);
            qr.Step();
            qr.Release();
            _db.Close();
        }
        catch (Exception e)
        {
            if (_db != null)
            {
                _db.Close();
            }
            UnityEngine.Debug.LogError(e.ToString());
        }

        return;
    }
コード例 #20
0
 /// <summary>
 /// 打开SQLITE数据库
 /// </summary>
 static void OpenSqlite()
 {
     if (db != null)
     {
         db.Close();
     }
     if (string.IsNullOrEmpty(dbfile))
     {
         Debug.LogError("数据库文件路径为空!!!");
         return;
     }
     db = new SQLiteDB();
     db.Open(@dbfile);
     if (!string.IsNullOrEmpty(password))
     {
         db.Key(password);   //Set Password
     }
     PlayerPrefs.SetString("Tool_SqliteFile", dbfile);
     PlayerPrefs.SetString("Tool_SqlitePass", password);
     Debug.Log("数据库链接打开成功,数据文件:>" + dbfile);
 }
コード例 #21
0
    private void CloseDatabase(ThreadQueue.TaskControl control, object state)
    {
        try
        {
            if (db != null)
            {
                db.Close();
                db = null;

                Debug.Log("Database has been closed.");
            }
            else
            {
                throw new Exception("Database not ready!");
            }
        }
        catch (Exception ex)
        {
            Debug.LogError("SQLiteAsync : Exception : " + ex.Message);
        }
    }
コード例 #22
0
        private void InitDataAndLocal(object state)
        {
            try
            {
                using (var db = new SQLiteDB())
                {
                    var objectContext     = ((IObjectContextAdapter)db).ObjectContext;
                    var mappingCollection = (StorageMappingItemCollection)objectContext.MetadataWorkspace.GetItemCollection(DataSpace.CSSpace);
                    mappingCollection.GenerateViews(new List <EdmSchemaError>());

                    var sessions = db.LocalSessions;
                    if (sessions != null && sessions.Count() != 0)
                    {
                        LocalSessions.Clear();
                        foreach (var sess in sessions)
                        {
                            var mod = JsonConvert.DeserializeObject <Session>(sess.JsonSession);
                            LocalSessions.Add(mod);
                        }
                    }
                    Game.Instance.LocalSessions = LocalSessions;
                    //生成新一局路单,可以在点开始按钮之前传送到后台
                    Game.Instance.NewSession();   //此函数在每局结束时调用,不在洗牌时调用,因此可以在洗牌时将新一局路单传送到后台
                }
            }
            catch (Exception ex)
            {
#if DEBUG
                MessageBox.Show(ex.Message + ex.StackTrace);
#endif
                MessageBox.Show("程序数据库故障,重启游戏或联系工程师");
            }
            finally
            {
                ControlBoard.Instance.Dispatcher.Invoke(new Action(() =>
                {
                    ControlBoard.Instance.btnStartGame.IsEnabled = true;
                }));
            }
        }
コード例 #23
0
    public int Get_value(string a_data_code)
    {
        if (_db == null)
        {
            _db = new SQLiteDB();
        }

        int rtn = 0;

        string filename = GetFileName_DB();

        try{
            _db.Open(filename);

            SQLiteQuery qr;
            string      strsql = string.Format(_querySelect_value, a_data_code); // _querySelect_exp
            qr = new SQLiteQuery(_db, strsql);
            while (qr.Step())
            {
                try
                {
                    rtn = qr.GetInteger("value");
                }
                catch
                {
                    rtn = 0;
                }
            }
            qr.Release();
            _db.Close();
        } catch (Exception e) {
            if (_db != null)
            {
                _db.Close();
            }
            UnityEngine.Debug.LogError(e.ToString());
        }

        return(rtn);
    }
コード例 #24
0
        public void Initiliaze(DatabaseType dbType, string connectionString)
        {
            Configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json", true, true).Build();

            ConnectionString = connectionString;
            DBType           = dbType;

            switch (dbType)
            {
            case DatabaseType.MSSQL:
                Connection = new SqlDb(this);
                break;

            case DatabaseType.SQLite:
                Connection = new SQLiteDB(this);
                break;

            default:
                throw new InvalidOperationException("Default case hit :(");
                break;
            }
        }
コード例 #25
0
        private void SetBackSessions(object state)
        {
            var data          = state.ToString();
            var back_sessions = JsonConvert.DeserializeObject <List <LocalSession> >(data);

            //Game.Instance.LocalSessions = back_sessions ?? throw new NullReferenceException();
            var cur_session = Game.Instance.CurrentSession;

            try
            {
                using (var db = new SQLiteDB())
                {
                    db.LocalSessions.RemoveRange(db.LocalSessions);
                    db.LocalSessions.AddRange(back_sessions);

                    Game.Instance.LocalSessions.Clear();
                    foreach (var s in back_sessions)
                    {
                        var newsession = JsonConvert.DeserializeObject <Session>(s.JsonSession);
                        Game.Instance.LocalSessions.Add(newsession);
                        if (s.SessionIndex == cur_session.SessionId)
                        {
                            if (Game.Instance.CurrentState == GameState.Shuffling || Game.Instance.CurrentState == GameState.Preparing)
                            {
                                Game.Instance.CurrentSession = newsession;
                            }
                        }
                    }
                    db.SaveChanges();
                    Game.Instance.WebServer.SendData(
                        RemoteCommand.ImportBackOK,
                        Game.Instance.CurrentSession,
                        SuperServer.appSession);
                }
            }
            catch (Exception ex)
            {
            }
        }
コード例 #26
0
        public void SetBackBetRecordData(int id)
        {
            try
            {
                using (var db = new SQLiteDB())
                {
                    var records = db.BetScoreRecords.Where(
                        bs => bs.SessionIndex == id).ToList();
                    if (records != null)
                    {
                        Game.Instance.BetRecordJsonDataToBack = new ObservableCollection <BetScoreRecord>(records);
                    }
                }
            }
            catch (Exception ex)
            {
#if DEBUG
                MessageBox.Show(ex.Message + ex.StackTrace);
#endif
                MessageBox.Show("程序数据库故障,重启游戏或联系工程师");
            }
        }
コード例 #27
0
    public SHSQLite(string strFileName)
    {
        if (true == string.IsNullOrEmpty(strFileName))
        {
            return;
        }

        // StreamingAssets에서 .db를 byte[]형태로 읽어서
        // PersistentDataPath에 저장하고, 그걸 로드하도록 한다.

        SaveDBToBytes(GetPersistentPath(strFileName), LoadWWW(GetStreamingPath(strFileName)));

        try
        {
            m_pSQLiteDB = new SQLiteDB();
            m_pSQLiteDB.Open(GetPersistentPath(strFileName));
        }
        catch (System.Exception e)
        {
            Debug.LogError(string.Format("SQLite Read Fail : {0}", e.ToString()));
        }
    }
コード例 #28
0
        public void SaveSubScoreAccount(int Sub_score, int id)
        {
            try
            {
                using (var db = new SQLiteDB())
                {
                    WaitingBox.Show(ControlBoard.Instance, () =>
                    {
                        var acc = db.FrontAccounts.First(a => a.IsClear == false);
                        ObservableCollection <AddSubScoreRecord> record = new ObservableCollection <AddSubScoreRecord>();
                        if (acc == null)
                        {
                            acc = new FrontAccount()
                            {
                                CreateTime      = DateTime.Now,
                                IsClear         = false,
                                JsonScoreRecord = ""
                            };
                            record = Desk.Instance.CreateNewScoreRecord();
                            acc.JsonScoreRecord = JsonConvert.SerializeObject(record);
                            db.FrontAccounts.Add(acc);
                        }
                        record                  = JsonConvert.DeserializeObject <ObservableCollection <AddSubScoreRecord> >(acc.JsonScoreRecord);
                        var p_record            = record.First(a => Convert.ToInt32(a.PlayerId) == id);
                        p_record.TotalSubScore += Sub_score;
                        p_record.TotalAccount  -= Sub_score;

                        acc.JsonScoreRecord = JsonConvert.SerializeObject(record);

                        db.SaveChanges();
                    }, "数据存储中...");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + ex.StackTrace);
                MessageBox.Show("数据库出错");
            }
        }
コード例 #29
0
        /// <summary>
        /// DBインスタンス取得
        /// </summary>
        /// <returns>IDatabasインスタンス</returns>
        public static IDatabase Create(DatabaseConfigModel config)
        {
            IDatabase result = null;

            // DB種類で作成するインスタンスを変える
            switch (config.Type.ToLower())
            {
            case "sqlite":
                result = new SQLiteDB(config.connectionString);
                break;

            case "postgres":
                result = new PostgreSQLDB(config.connectionString);
                break;

            default:
                result = new SQLiteDB(config.connectionString);
                break;
            }

            return(result);
        }
コード例 #30
0
    public int Get_level(int a_exp, int a_class)
    {
        if (_db == null)
        {
            _db = new SQLiteDB();
        }

        int rtn = 0;

        string filename = GetFileName_DB();

        try
        {
            _db.Open(filename);

            SQLiteQuery qr;
            string      strsql = string.Format(_querySelect_level, a_exp, a_class); // _querySelect_exp
            qr = new SQLiteQuery(_db, strsql);
            while (qr.Step())
            {
                rtn = qr.GetInteger("level");
            }
            qr.Release();
            _db.Close();

//            UnityEngine.Debug.Log("~~~~~~~~~~~~~~~~~~~~~~~ " + strsql + " ~~~>" + rtn);
        }
        catch (Exception e)
        {
            if (_db != null)
            {
                _db.Close();
                _db = null;
            }
            UnityEngine.Debug.LogError(e.ToString());
        }

        return(rtn);
    }
コード例 #31
0
    public ST_B_PlayerWeaponRec Get_PlayerWeaponRec(string a_datacode)
    {
        if (_db == null)
        {
            _db = new SQLiteDB();
        }

        ST_B_PlayerWeaponRec rec = new ST_B_PlayerWeaponRec();

        string filename = GetFileName_DB();

        try{
            _db.Open(filename);

            SQLiteQuery qr;
            string      strsql = string.Format(_querySelect_PlayerWeaponRec, a_datacode);        // _querySelect_exp
            qr = new SQLiteQuery(_db, strsql);
            while (qr.Step())
            {
                rec._datacode       = qr.GetString("datacode");
                rec._dur            = qr.GetInteger("dur");
                rec._attack         = qr.GetInteger("attack");
                rec._level          = qr.GetInteger("level");
                rec._critical_ratio = (float)qr.GetDouble("critical_ratio");
            }
            qr.Release();
            _db.Close();
        } catch (Exception e) {
            if (_db != null)
            {
                _db.Close();
                _db = null;
            }
            UnityEngine.Debug.LogError(e.ToString());
        }

        return(rec);
    }
コード例 #32
0
        async Task ExecuteLoadItemsCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                //empty events collection
                Events.Clear();

                //get events from database
                List <Events> events = new List <Events>();
                SQLiteDB      db     = new SQLiteDB();
                events = await db.GetItemAsyncEvents();

                //get next events
                NextEventService n = new NextEventService();
                events = n.GetNextEvents(events).Result;

                //add next events to collection
                foreach (var e in events)
                {
                    Events.Add(e);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
コード例 #33
0
ファイル: ValidateUser.cs プロジェクト: KorolchukSergiy/App4
        public async Task <List <ValidationResult> > ValidateNewUser(User user, string confirmPassword)
        {
            if (user.password.Equals(confirmPassword))
            {
                ValidationContext ctx = new ValidationContext(user);
                var results           = new List <ValidationResult>();
                if (!Validator.TryValidateObject(user, ctx, results, true))
                {
                    return(results);
                }
                else
                {
                    IDataBase context = new SQLiteDB();
                    bool      result  = await context.AddUser(user);

                    if (result)
                    {
                        return(new List <ValidationResult>());
                    }
                    else
                    {
                        return(new List <ValidationResult> {
                            new ValidationResult("Email or Login is already in use", new List <string> {
                                "login"
                            })
                        });
                    }
                }
            }
            else
            {
                return(new List <ValidationResult> {
                    new ValidationResult("Passwords mismatch", new List <string> {
                        "confirmPassword"
                    })
                });
            }
        }
コード例 #34
0
        internal void ImportBackNextSession(StringRequestInfo requestInfo, AppSession session)
        {
            var data         = requestInfo.Parameters[0];
            var back_session = JsonConvert.DeserializeObject <Session>(data) ?? throw new NullReferenceException();

            if (Game.Instance.CurrentState == GameState.Preparing || Game.Instance.CurrentState == GameState.Shuffling)
            {
                back_session.SessionId       = Game.Instance.SessionIndex;
                Game.Instance.CurrentSession = back_session;
            }
            else
            {
                back_session.SessionId = Game.Instance.SessionIndex + 1;
            }

            var next = Game.Instance.LocalSessions.FirstOrDefault(s => s.SessionId == back_session.SessionId);

            if (next != null)
            {
                Game.Instance.LocalSessions.Remove(next);
            }
            Game.Instance.LocalSessions.Add(back_session);

            using (var db = new SQLiteDB())
            {
                var ss = db.LocalSessions.FirstOrDefault(s => s.SessionIndex == back_session.SessionId);
                if (ss != null)
                {
                    db.LocalSessions.Remove(ss);
                }
                db.LocalSessions.Add(new LocalSession
                {
                    SessionIndex = back_session.SessionId,
                    JsonSession  = JsonConvert.SerializeObject(back_session)
                });
                db.SaveChanges();
            }
        }
コード例 #35
0
    public ST_B_stageRec Get_stageData(int a_stage_no, int a_round_no)
    {
        if (_db == null)
        {
            _db = new SQLiteDB();
        }
        string        filename = GetFileName_DB();
        ST_B_stageRec rec      = new ST_B_stageRec();

        try
        {
            _db.Open(filename);
            SQLiteQuery qr;
            string      strsql = string.Format(_querySelect_all_stage_round, a_stage_no, a_round_no); // _querySelect_exp
            qr = new SQLiteQuery(_db, strsql);
            while (qr.Step())
            {
                rec.idx                = qr.GetInteger("idx");
                rec.stage_no           = qr.GetInteger("stage_no");
                rec.round_no           = qr.GetInteger("round_no");
                rec.boss_bonus_normal  = qr.GetInteger("boss_bonus_normal");
                rec.boss_bonus_special = qr.GetInteger("boss_bonus_special");
                rec.boss_fail_ratio    = (float)qr.GetDouble("boss_fail_ratio");
            }
            qr.Release();
            _db.Close();
        }
        catch (Exception e)
        {
            if (_db != null)
            {
                _db.Close();
            }
            UnityEngine.Debug.LogError(e.ToString());
        }

        return(rec);
    }
コード例 #36
0
 public void SaveNewSession(Session session)
 {
     if (session == null)
     {
         return;
     }
     try
     {
         using (var db = new SQLiteDB())
         {
             foreach (var round in session.RoundsOfSession)
             {
                 var record = new BetScoreRecord()
                 {
                     CreateTime       = DateTime.Now,
                     SessionIndex     = session.SessionId,
                     RoundIndex       = session.RoundsOfSession.IndexOf(round),
                     DeskBanker       = 0,
                     DeskPlayer       = 0,
                     DeskTie          = 0,
                     Winner           = (int)round.Winner.Item1,
                     JsonPlayerScores = ""
                 };
                 var history = db.BetScoreRecords.FirstOrDefault(b => b.SessionIndex == record.SessionIndex && b.RoundIndex == record.RoundIndex);
                 if (history != null)
                 {
                     db.BetScoreRecords.Remove(history);
                 }
                 db.BetScoreRecords.Add(record);
             }
             db.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + ex.StackTrace + ex.InnerException.Message);
     }
 }
コード例 #37
0
        private void button1_Click(object sender, EventArgs e)
        {
            using (var db = new SQLiteDB())
            {
                //SQL発行
                var sql = new StringBuilder();
                sql.Append("SELECT");
                sql.Append("  USER_ID ");
                sql.Append("  ,NAME ");
                sql.Append("  ,PASSWORD ");
                sql.Append("FROM MT_USER ");

                var result = db.Fill(sql.ToString());
                if (result.Rows.Count > 0)
                {
                    this.dataGridView1.DataSource = result;
                }
                else
                {
                    this.dataGridView1.DataSource = null;
                }
            }
        }
コード例 #38
0
ファイル: DemoObject4.cs プロジェクト: loickobes/Coolhobo-AR
    void PerformanceTest(SQLiteDB db, ref string log)
    {
        SQLiteQuery qr;

        Stopwatch stopwatch = new Stopwatch();

        stopwatch.Start();

        qr = new SQLiteQuery(db, "SELECT * FROM en WHERE word like 'a%' LIMIT 1");
        qr.Step();

        UnityEngine.Debug.Log(qr.GetString("word"));

        qr.Release();                                        log += "\nSelect.";

        stopwatch.Stop();

        log += stopwatch.ElapsedMilliseconds + " msec";

        //
        // if we reach that point it's mean we pass the test!
        db.Close();                                           log += "\nDatabase closed!\nTest succeeded!";
    }
コード例 #39
0
ファイル: Add.cs プロジェクト: WildSushi/PasswordManager
        private void button1_Click(object sender, EventArgs e)
        {
            string str_addname;
            string str_adduser;
            string str_addpass;
            string str_addq;
            string str_adda;
            string str_addnotes;

            str_addname  = txtAdd_name.Text;
            str_adduser  = txtAdd_user.Text;
            str_addpass  = txtAdd_pass.Text;
            str_addq     = txtAdd_q.Text;
            str_adda     = txtAdd_a.Text;
            str_addnotes = txtAdd_notes.Text;

            try
            {
                if (str_addname != "" && str_adduser != "" && str_addpass != "")
                {
                    SQLiteDB.DatabasePath = "credential.db";
                    SQLiteDB db = SQLiteDB.GetInstance;

                    db.NonSelectQuery("INSERT INTO credentials (Name, Username, Password, Question, Answer, Notes) VALUES ('" + str_addname + "', '" + str_adduser + "', '" + str_addpass + "', '" + str_addq + "', '" + str_adda + "', '" + str_addnotes + "')");

                    db.CloseConnection();
                }
                else
                {
                    throw new ArgumentException();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Did not enter in all required fields");
            }
        }
コード例 #40
0
 public BetRecord()
 {
     InitializeComponent();
     using (var db = new SQLiteDB())
     {
         try
         {
             //不显示当前局
             var last_session_idx = db.BetScoreRecords.Max(mr => mr.SessionIndex);
             if (last_session_idx == Game.Instance.SessionIndex)
             {
                 last_session_idx = db.BetScoreRecords.Select(t => t.SessionIndex).Distinct().OrderByDescending(t => t).ElementAt(1);
             }
             RecordsInSession = db.BetScoreRecords.Where(
                 r => r.SessionIndex == last_session_idx)
                                .OrderBy(t => t.RoundIndex).ToList();
             if (RecordsInSession == null || RecordsInSession.Count == 0)
             {
                 MessageBox.Show("无记录");
                 Close();
                 return;
             }
             SessionIds = db.BetScoreRecords.Select(b => b.SessionIndex + 1).Distinct().OrderBy(t => t).ToList();
             SessionIds.Remove(Game.Instance.SessionIndex + 1);
             cmbSessionStrIndex.ItemsSource  = SessionIds;
             cmbSessionStrIndex.SelectedItem = RecordsInSession[0].SessionIndex + 1;
         }
         catch (Exception ex)
         {
             return;
         }
     }
     CurrentRecords = new ObservableCollection <BetScoreRecord>(RecordsInSession.OrderBy(r => r.RoundIndex).ToList());
     ShowWaybillAndDetail();
     BindCbEvent();
     cmbSessionStrIndex.SelectionChanged += cbRoundStrIndex_SelectionChanged;
 }
コード例 #41
0
    public void Write(string strFileName, Dictionary <string, List <SHTableDataSet> > dicData)
    {
        if (null == dicData)
        {
            Debug.LogError(string.Format("SQLite로 저장할 데이터가 없습니다!!"));
            return;
        }

        string strSavePath = string.Format("{0}/{1}.db", SHPath.GetPathToSQLite(), Path.GetFileNameWithoutExtension(strFileName));

        File.Delete(strSavePath);

        try
        {
            m_pSQLiteDB = new SQLiteDB();
            m_pSQLiteDB.Open(strSavePath);
            SHUtils.ForToDic(dicData, (pKey, pValue) =>
            {
                // 테이블 생성
                if (false == CreateTable(pKey, pValue[0]))
                {
                    return;
                }

                // 생성한 테이블에 데이터 인설트
                if (false == InsertData(pKey, pValue))
                {
                    return;
                }
            });
        }
        catch (System.Exception e)
        {
            Debug.LogError(string.Format("SQLite Read Fail : {0}", e.ToString()));
        }
    }
コード例 #42
0
    public int Get_StartLockNumber(int a_stage_no)
    {
        if (_db == null)
        {
            _db = new SQLiteDB();
        }

        int rtn = -1;

        string filename = GetFileName_DB();

        try
        {
            _db.Open(filename);

            SQLiteQuery qr;
            string      strsql = string.Format(_querySelect_StartLockNumber, a_stage_no); // _querySelect_exp
            qr = new SQLiteQuery(_db, strsql);
            while (qr.Step())
            {
                rtn = qr.GetInteger("round_no");
            }
            qr.Release();
            _db.Close();
        }
        catch (Exception e)
        {
            if (_db != null)
            {
                _db.Close();
            }
            UnityEngine.Debug.LogError(e.ToString());
        }

        return(rtn);
    }
コード例 #43
0
    public int Get_tutorial_play()
    {
        if (_db == null)
        {
            _db = new SQLiteDB();
        }

        int tutorial_play = 0;

        string filename = GetFileName_SaveDB();

        try
        {
            _db.Open(filename);

            SQLiteQuery qr;
            qr = new SQLiteQuery(_db, _querySelect_tutorial_play);
            while (qr.Step())
            {
                tutorial_play = qr.GetInteger("tutorial_play");
            }
            qr.Release();
            _db.Close();
        }
        catch (Exception e)
        {
            if (_db != null)
            {
                _db.Close();
                _db = null;
            }
            UnityEngine.Debug.LogError(e.ToString());
        }

        return(tutorial_play);
    }
コード例 #44
0
    public int Get_attack()
    {
        if (_db == null)
        {
            _db = new SQLiteDB();
        }

        int atk = 0;

        string filename = GetFileName_SaveDB();

        try
        {
            _db.Open(filename);

            SQLiteQuery qr;
            qr = new SQLiteQuery(_db, _querySelectAttack);
            while (qr.Step())
            {
                atk = qr.GetInteger("attack");
            }
            qr.Release();
            _db.Close();
        }
        catch (Exception e)
        {
            if (_db != null)
            {
                _db.Close();
                _db = null;
            }
            UnityEngine.Debug.LogError(e.ToString());
        }

        return(atk);
    }
コード例 #45
0
ファイル: SQLiteKitEditor.cs プロジェクト: hanahanaside/JPN
	void OnGUI()
    {
		
        if (EditorApplication.isPlaying)
        {
			EditorUtility.DisplayDialog("Error", "Editor is in play mode.", "OK");
            return;
        }
		
		LoadSettings();
		
        scrollView = GUILayout.BeginScrollView(scrollView);
		
		
		if( import )
		{
			
			if(db == null)
			{
				string databasePath = Application.streamingAssetsPath +"/"+ settings.Database;
				db = new SQLiteDB();
				try{
					db.Open(databasePath);
					Log("Open database: "+databasePath);
				}catch(Exception e)
				{
					Debug.LogError("Fail to Open database: "+databasePath+"\nWith exception:"+e.Message);
					EditorUtility.DisplayDialog("Error", "Fail to Open database: "+databasePath+"\nWith exception:"+e.Message, "OK");
					import = false;
				}
			}
			
			if(import)
			{
						
				try{
					
					if(www!=null)
					{
						if(www.error != null)
						{
							EditorUtility.DisplayDialog("Error", "Can't download spreadsheet from URL: "+www.error, "OK");
							import = false;
						}
						else
						if(www.isDone)
						{
							SQLiteKitEditorSettings.Table table = settings.GetTableAt(tableIndex);
							SQLiteQuery qr = null;
							
							try{
								
								List<string> rows = GetCVSLines(www.text);
								www = null;
	
								
								// delete old table
								qr = new SQLiteQuery(db,"DROP TABLE IF EXISTS "+table.Name);
								qr.Step();
								qr.Release();
								qr = null;
	
								// read columns
								List<Column> columns = new List<Column>();
								// import header
								List<string> headers = GetCVSLine(rows[0]);
								for( int i = 0; i < headers.Count; i++ )
								{
									string column = headers[i];
									if(Column.IsColumnHeader(column))
									{
										columns.Add(new Column(column,i));
										Log ("  Column: "+column);
									}
								}
								
								if(columns.Count>0)
								{
								
									// compile create table sql
									string createTableSQL = "CREATE TABLE "+table.Name+"( id INTEGER PRIMARY KEY";
									foreach( Column column in columns )
									{
										createTableSQL += ", "+column.Definition;
									}
									createTableSQL += ");";
									qr = new SQLiteQuery(db,createTableSQL);
									qr.Step();
									qr.Release();
									qr = null;
									
		
									
									// compile insert sql
									string names = "";
									string quest = "";
									foreach( Column column in columns )
									{
										if(names.Length == 0){
											names = column.Name;
											quest = "?";
										}
										else{
											names += ","+column.Name;
											quest += ",?";
										}
									}
									
									string insertSQL = "INSERT INTO "+table.Name+" ("+names+") VALUES("+quest+");";
								
									// import data
									for (int i=1; i<rows.Count; i++) {
										
										List<string> row_columns = GetCVSLine(rows[i]);
									
										qr = new SQLiteQuery(db,insertSQL);
										foreach( Column column in columns )
										{
											column.Bind(qr,row_columns[column.Pos]);
										}
										qr.Step();
										qr.Release();
										qr = null;
										
									}
								}
								else
								{
									import = false;
									EditorUtility.DisplayDialog("Error", "Fail to import table '"+table.Name+"' - No columns! Please check source file", "OK");
								}
							}
							catch(Exception e)
							{
								if(qr!=null)
									qr.Release();
								
								EditorUtility.DisplayDialog("Error", "Fail to import table '"+table.Name+"' with Exception: "+e.Message, "OK");
								import = false;
								
							}
							
							tableIndex++;
						}
					}
					else
					if( tableIndex < settings.TableCount )
					{
						SQLiteKitEditorSettings.Table table = settings.GetTableAt(tableIndex);
						
						string url = table.Url;
			            url = url.Trim();
			            if (!url.Contains("&single="))
			                url += "&single=true";
			            if (url.Contains("#gid="))
			                url = url.Replace("#gid=", "&gid=");
			            if (!url.Contains("&gid="))
			                url += "&gid=0";
			            if (url.Contains("&output=html"))
			                url = url.Replace("&output=html", "&output=csv");
			            if (!url.Contains("&output=csv"))
			                url += "&output=csv";
						if (url.Contains("/ccc?"))
			                url = url.Replace("/ccc?", "/pub?");
						
						table.Url = url;
						SaveSettings();
						
			            if (!url.Contains(".google.com"))
			            {
							import = false;
			                EditorUtility.DisplayDialog("Error", "You have entered an incorrect spreadsheet URL. Please read the manuals instructions (See readme.txt)", "OK");
			            }
						else{
							Log ("Import table: "+table.Name +" from URL: "+table.Url);
							www = new WWW(table.Url);
						}
						
					}
					else
					{
						import = false;
						EditorUtility.DisplayDialog("Succeed", "All tables was succefully updated!", "OK");
					}
					
				}
				catch( Exception e )
				{
					Debug.LogError(e);
					EditorUtility.DisplayDialog("Error", "Unexpected exception! Please read log for more information.", "OK");
					import = false;
				}
				
			}
			
	        if (GUILayout.Button("Terminate import"))
	        {
				import = false;
	        }
			
			GUILayout.Space(25);
			
			
			
			GUI.Label(new Rect(0,40,1600,400-40), log);
			
			
			if(import == false)
			{
				if(www!=null)
					www = null;
				
				if(db!=null)
					db.Close();
				db = null;
			}
		}
		else
		{
			
	        GUILayout.Label("Settings", EditorStyles.boldLabel);
			
	        settings.Database = EditorGUILayout.TextField("Database", settings.Database);
			settings.TableCount = EditorGUILayout.IntField("Table Count", settings.TableCount);
			
			GUILayout.Space(20);
			
			scrollView2 = GUILayout.BeginScrollView(scrollView2);
			SQLiteKitEditorSettings.Table table;
			for(int pos = 0; pos < settings.TableCount; pos++)
			{
				GUILayout.Space(10);
				table = settings.GetTableAt(pos);
	        	table.Url = EditorGUILayout.TextField("Table #"+pos+" Url:", table.Url);
				table.Name = EditorGUILayout.TextField("Table #"+pos+" Name:", table.Name);
			}
			
			GUILayout.EndScrollView();
	        if (GUI.changed)
	        {
	            SaveSettings();
	        }
			
	        if (GUILayout.Button("Import database from google spreadsheets"))
	        {
				tableIndex = 0;
				import = true;
				log = "";
	        }
	        if (!string.IsNullOrEmpty(lastError))
	        {
	            Rect rec = GUILayoutUtility.GetLastRect();
	            GUI.color = Color.red;
	            EditorGUI.DropShadowLabel(new Rect(0, rec.yMin + 15, 200, 20), "Last error: " + lastError);
	            GUI.color = Color.white;
	        }
	
	
	        GUILayout.Space(25);
	        GUILayout.Label("For more information please visit SQLiteKit forum.", EditorStyles.miniLabel);
	        if (GUILayout.Button("Open forum"))
	        {
	            Application.OpenURL("http://forum.unity3d.com/threads/150778-SQLiteKit");
	        }
	        GUILayout.Label("Add Example setup.", EditorStyles.miniLabel);
	        if (GUILayout.Button("Add Example setup"))
	        {
	            int pos = settings.TableCount;
				settings.TableCount++;
				table = settings.GetTableAt(pos);
				if(table!=null)			
				{
		        	table.Url = default_url;
					table.Name = "test_table_"+pos;
				}
				SaveSettings();
	        }
	        if (GUILayout.Button("Open Example Google Spreadsheet"))
	        {
	            Application.OpenURL("https://docs.google.com/spreadsheet/ccc?key=0AhKBA3PeUOmddDhQNno2S09VYlpvUC1XdXdMb1NjeHc#gid=0");
	        }

		}

        GUILayout.EndScrollView();
    }
コード例 #46
0
	void Test2( SQLiteDB db, ref string log )
	{
		SQLiteQuery qr;
		
		//
		// read strings
		//
		string testStringFromSelect = "";
		qr = new SQLiteQuery(db, querySelect); 
		while( qr.Step() )
		{
			testStringFromSelect = qr.GetString("str_field");
			if( testStringFromSelect != testString )
			{
				throw new Exception( "Test string are not equal!" );
			}
			
			byte[] testBlobFromSelect = qr.GetBlob("blob_field");
			
			if( testBlobFromSelect.Length != testBlob.Length )
			{
				throw new Exception( "Test blobs are not equal!" );
			}
			
			for (int i = 0; i < testBlobFromSelect.Length; i++)
			{
				if( testBlobFromSelect[i] != testBlob[i] )
				{
					throw new Exception( "Test blobs are not equal!" );
				}
			}
		}
		if( testStringFromSelect == "" )
		{
			throw new Exception( "Unknowm problem!" );
		}
		qr.Release();                                        log += "\nRead and test strings and blobs.";

		//
		// if we reach that point it's mean we pass the test!
		db.Close();                                           log += "\nDatabase closed!\nTest succeeded!";

	}
コード例 #47
0
ファイル: ISqlite.cs プロジェクト: yinlei/GF.Core
 //---------------------------------------------------------------------
 public SqliteWin(string file_path)
 {
     mFilePath = file_path;
     mSQLiteDB = new SQLiteDB();
 }
コード例 #48
0
ファイル: AchieveDB.cs プロジェクト: CoderBear/AAUnity
	public void unlock(int id) {
		string dbFile = Application.persistentDataPath + "/achieveDB_playmaker.db";
		SQLiteDB db = new SQLiteDB();
		
		int yes = 1;
		string query = "UPDATE achieve_table SET Unlocked = " + yes.ToString() + " WHERE id =" + id.ToString();
		db.Open(dbFile);
		
		SQLiteQuery qr = new SQLiteQuery(db, query);
		qr.Step();
		qr.Release();
		db.Close();
	}
コード例 #49
0
ファイル: DemoObject.cs プロジェクト: CoderBear/ARG-Zombies
	IEnumerator TestBestForRealProject()
	{
		db = new SQLiteDB();
				
		log = "";

		// a product persistant database path.
		string filename = Application.persistentDataPath + "/demo_from_streamingAssets2.db";
		
		// check if database already exists.
		
		if(!File.Exists(filename))
		{
			
			// ok , this is first time application start!
			// so lets copy prebuild dtabase from StreamingAssets and load store to persistancePath with Test2
							
			string dbfilename = "test.db";

			byte[] bytes = null;				
			
			
#if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
			string dbpath = "file://" + Application.streamingAssetsPath + "/" + dbfilename; log += "asset path is: " + dbpath;
			WWW www = new WWW(dbpath);
			yield return www;
			bytes = www.bytes;
#elif UNITY_WEBPLAYER
			string dbpath = "StreamingAssets/" + dbfilename;								log += "asset path is: " + dbpath;
			WWW www = new WWW(dbpath);
			yield return www;
			bytes = www.bytes;
#elif UNITY_IPHONE
			string dbpath = Application.dataPath + "/Raw/" + dbfilename;					log += "asset path is: " + dbpath;					
			try{	
				using ( FileStream fs = new FileStream(dbpath, FileMode.Open, FileAccess.Read, FileShare.Read) ){
					bytes = new byte[fs.Length];
					fs.Read(bytes,0,(int)fs.Length);
				}			
			} catch (Exception e){
				log += 	"\nTest Fail with Exception " + e.ToString();
				log += 	"\n";
			}
#elif UNITY_ANDROID
			string dbpath = Application.streamingAssetsPath + "/" + dbfilename;	            log += "asset path is: " + dbpath;
			WWW www = new WWW(dbpath);
			yield return www;
			bytes = www.bytes;
#endif
			if ( bytes != null )
			{
				try{	
					
					//
					//
					// copy database to real file into cache folder
					using( FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write) )
					{
						fs.Write(bytes,0,bytes.Length);             log += "\nCopy database from streaminAssets to persistentDataPath: " + filename;
					}
					
					//
					// initialize database
					//
					db.Open(filename);                               log += "\nDatabase created! filename: " + filename;
					
					Test2(db, ref log);
					
				} catch (Exception e){
					log += 	"\nTest Fail with Exception " + e.ToString();
					log += 	"\n\n Did you copy test.db into StreamingAssets ?\n";
				}
			}
		}
		else
		{
			// it mean we already download prebuild data base and store into persistantPath
			// lest update, I will call Test
			
			try{
				//
				// initialize database
				//
				db.Open(filename);                               log += "Database created! filename:"+filename;
				
				Test(db, ref log);
				
			} catch (Exception e){
				log += 	"\nTest Fail with Exception " + e.ToString();
				log += 	"\n on WebPlayer it must give an exception, it's normal.";
			}
			
		}
	}
コード例 #50
0
    private void CloseDatabase(ThreadQueue.TaskControl control, object state)
    {
        try
        {
			if( db != null )
			{
            	db.Close();
				db = null;
			}
			else
			{
				throw new Exception( "Database not ready!" );
			}
        }
        catch (Exception ex)
        {
			Debug.LogError("SQLiteAsync : Exception : " + ex.Message);
        }
    }
コード例 #51
0
	//
	// functions
	//
	private void OpenDatabase(ThreadQueue.TaskControl control, object state)
    {
		OpenState opState = state as OpenState;
		
        try
        {
			db = new SQLiteDB();
            db.Open(opState.Filename);
			opState.Succeed = true;
        }
        catch (Exception ex)
        {
			opState.Succeed = false;
            Debug.LogError("SQLiteAsync : OpenDatabase : Exception : " + ex.Message);
        }
    }
コード例 #52
0
ファイル: PlayerDB.cs プロジェクト: CoderBear/ARG-Zombies
	public int getInit(int id) {
		int num = 0;
		string dbFile = Application.persistentDataPath + "/playerDB.db";
		SQLiteDB db = new SQLiteDB ();
		
		db.Open (dbFile);
		SQLiteQuery qr = new SQLiteQuery (db, "SELECT init FROM player_info WHERE id=?");
		qr.Bind (id);
		qr.Step ();
		num = qr.GetInteger ("init");
		qr.Release ();
		db.Close (); 
		
		return num;
	}
コード例 #53
0
ファイル: AchieveDB.cs プロジェクト: CoderBear/AAUnity
	public void StoreProgress(int id, int progress) {
		string dbFile = Application.persistentDataPath + "/achieveDB_playmaker.db";
		SQLiteDB db = new SQLiteDB();
		
		string query = "UPDATE achieve_table SET Progress = " + progress.ToString() + " WHERE id =" + id.ToString();
		
		db.Open(dbFile);
		SQLiteQuery qr = new SQLiteQuery(db, query);
		qr.Step();
		qr.Release();
		db.Close();
	}
コード例 #54
0
ファイル: PlayerDB.cs プロジェクト: CoderBear/ARG-Zombies
	public void setMoney(int money) {
		string dbFile = Application.persistentDataPath + "/playerDB.db";
		SQLiteDB db = new SQLiteDB ();

		string query = "UPDATE player_info SET money = " + money.ToString () + " WHERE id = 1";
		db.Open (dbFile);
		
		SQLiteQuery qr = new SQLiteQuery (db, query);
		qr.Step ();
		qr.Release ();
		db.Close ();
	}
コード例 #55
0
	private SQLiteDB OpenDB () {
		SQLiteDB sqliteDB = new SQLiteDB ();
		string fileName = Application.persistentDataPath + "/quiz_box.db";
		sqliteDB.Open (fileName);
		return sqliteDB;
	}
コード例 #56
0
ファイル: PlayerDB.cs プロジェクト: CoderBear/ARG-Zombies
	public void setMaxHP_MP(int maxHP, int maxMP) {
		string dbFile = Application.persistentDataPath + "/playerDB.db";
		SQLiteDB db = new SQLiteDB ();
		
		string query = "UPDATE player_info SET maxhp = " + maxHP.ToString () + ", maxmp = " + maxMP.ToString () + " WHERE id = 1";
		db.Open (dbFile);
		
		SQLiteQuery qr = new SQLiteQuery (db, query);
		qr.Step ();
		qr.Release ();
		db.Close ();
	}
コード例 #57
0
	void OnGUI()
	{
		if( db == null )
		{
			if ( GUI.Button(new Rect (10,10,150,50), "Run SQLite Test \nat persistentDataPath") ) 
			{
				db = new SQLiteDB();
				
				string filename = Application.persistentDataPath + "/demo_1.db";
				
				log = "";
				
				try{
					//
					// initialize database
					//
					db.Open(filename);                               log += "Database created! filename:"+filename;
					
					Test(db, ref log);
					
				} catch (Exception e){
					log += 	"\nTest Fail with Exception " + e.ToString();
					log += 	"\n on WebPlayer it must give an exception, it's normal.";
				}
			}
			if ( GUI.Button(new Rect (10,70,150,70), "Run SQLite Test \nat :memory:\nbest for cache") ) 
			{
				
				db = new SQLiteDB();
				
				log = "";
				
				try{
					
					//
					// initialize database
					//
					db.OpenInMemory();                               log += "Database created! in :memory:";
					
					Test(db, ref log);
					
				} catch (Exception e){
					log += 	"\nTest Fail with Exception " + e.ToString();
					log += 	"\n";
				}
			}
			
			if ( GUI.Button(new Rect (10,150,150,70), "Run SQLite Test \nwith stream\nbest for WebPlayer") ) 
			{
				
				db = new SQLiteDB();
				
				MemoryStream memStream = new MemoryStream();
				
				log = "";
				
				try{
					
					//
					// initialize database
					//
					db = new SQLiteDB();
					db.OpenStream("stream1",memStream);                               log += "Database created! named stream: stream1";
					
					Test(db, ref log);
					
				} catch (Exception e){
					log += 	"\nTest Fail with Exception " + e.ToString();
					log += 	"\n";
				}
			}
			
			if ( GUI.Button(new Rect (10,230,150,70), "Run SQLite Test \nwith streamingAssets") ) 
			{
				
				db = new SQLiteDB();
				
				log = "";
				
				string dbfilename = "test.db";
	
				byte[] bytes = null;				
				
				
#if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
				string dbpath = "file://" + Application.streamingAssetsPath + "/" + dbfilename; log += "asset path is: " + dbpath;
				WWW www = new WWW(dbpath);
				Download(www);
				bytes = www.bytes;
#elif UNITY_WEBPLAYER
				string dbpath = "StreamingAssets/" + dbfilename;								log += "asset path is: " + dbpath;
				WWW www = new WWW(dbpath);
				Download(www);
				bytes = www.bytes;
#elif UNITY_IPHONE
				string dbpath = Application.dataPath + "/Raw/" + dbfilename;					log += "asset path is: " + dbpath;					
				try{	
					using ( FileStream fs = new FileStream(dbpath, FileMode.Open, FileAccess.Read, FileShare.Read) ){
						bytes = new byte[fs.Length];
						fs.Read(bytes,0,(int)fs.Length);
					}			
				} catch (Exception e){
					log += 	"\nTest Fail with Exception " + e.ToString();
					log += 	"\n";
				}
#elif UNITY_ANDROID
				string dbpath = Application.streamingAssetsPath + "/" + dbfilename;	            log += "asset path is: " + dbpath;
				WWW www = new WWW(dbpath);
				Download(www);
				bytes = www.bytes;
#endif
				if ( bytes != null )
				{
					
					try{	
						//
						// create and write the asset into memory stream
						//
						MemoryStream memStream = new MemoryStream();
						
						memStream.Write(bytes,0,bytes.Length);
						
						//
						// initialize database
						//
						db.OpenStream("stream2",memStream);                               log += "\nDatabase created! named stream: stream2";
						
						Test2(db, ref log);
						
					} catch (Exception e){
						log += 	"\nTest Fail with Exception " + e.ToString();
						log += 	"\n\n Did you copy test.db into StreamingAssets ?\n";
					}
				}
			}

			
			if ( GUI.Button(new Rect (170,10,150,70), "Run SQLite Test \nfor streamingAssets db\nwhich moved to \npersistentDataPath") ) 
			{
				
				db = new SQLiteDB();
				
				log = "";
				
				string dbfilename = "test.db";
	
				byte[] bytes = null;				
				
				
#if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
				string dbpath = "file://" + Application.streamingAssetsPath + "/" + dbfilename; log += "asset path is: " + dbpath;
				WWW www = new WWW(dbpath);
				Download(www);
				bytes = www.bytes;
#elif UNITY_WEBPLAYER
				string dbpath = "StreamingAssets/" + dbfilename;								log += "asset path is: " + dbpath;
				WWW www = new WWW(dbpath);
				Download(www);
				bytes = www.bytes;
#elif UNITY_IPHONE
				string dbpath = Application.dataPath + "/Raw/" + dbfilename;					log += "asset path is: " + dbpath;					
				try{	
					using ( FileStream fs = new FileStream(dbpath, FileMode.Open, FileAccess.Read, FileShare.Read) ){
						bytes = new byte[fs.Length];
						fs.Read(bytes,0,(int)fs.Length);
					}			
				} catch (Exception e){
					log += 	"\nTest Fail with Exception " + e.ToString();
					log += 	"\n";
				}
#elif UNITY_ANDROID
				string dbpath = Application.streamingAssetsPath + "/" + dbfilename;	            log += "asset path is: " + dbpath;
				WWW www = new WWW(dbpath);
				Download(www);
				bytes = www.bytes;
#endif
				if ( bytes != null )
				{
					try{	
						
						string filename = Application.persistentDataPath + "/demo_from_streamingAssets.db";

						//
						//
						// copy database to real file into cache folder
						using( FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write) )
						{
							fs.Write(bytes,0,bytes.Length);             log += "\nCopy database from streaminAssets to persistentDataPath: " + filename;
						}
						
						//
						// initialize database
						//
						db.Open(filename);                               log += "\nDatabase created! filename: " + filename;
						
						Test2(db, ref log);
						
					} catch (Exception e){
						log += 	"\nTest Fail with Exception " + e.ToString();
						log += 	"\n\n Did you copy test.db into StreamingAssets ?\n";
					}
				}
			}

			
			
			//
			// Very common scenario for most products.
			// 
			
			if ( GUI.Button(new Rect (170,90,150,70), "Run SQLite\nfor real project scenario") ) 
			{
				
				db = new SQLiteDB();
				
				log = "";

				// a product persistant database path.
				string filename = Application.persistentDataPath + "/demo_from_streamingAssets2.db";
				
				// check if database already exists.
				
				if(!File.Exists(filename))
				{
					
					// ok , this is first time application start!
					// so lets copy prebuild dtabase from StreamingAssets and load store to persistancePath with Test2
									
					string dbfilename = "test.db";
		
					byte[] bytes = null;				
					
					
	#if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
					string dbpath = "file://" + Application.streamingAssetsPath + "/" + dbfilename; log += "asset path is: " + dbpath;
					WWW www = new WWW(dbpath);
					Download(www);
					bytes = www.bytes;
	#elif UNITY_WEBPLAYER
					string dbpath = "StreamingAssets/" + dbfilename;								log += "asset path is: " + dbpath;
					WWW www = new WWW(dbpath);
					Download(www);
					bytes = www.bytes;
	#elif UNITY_IPHONE
					string dbpath = Application.dataPath + "/Raw/" + dbfilename;					log += "asset path is: " + dbpath;					
					try{	
						using ( FileStream fs = new FileStream(dbpath, FileMode.Open, FileAccess.Read, FileShare.Read) ){
							bytes = new byte[fs.Length];
							fs.Read(bytes,0,(int)fs.Length);
						}			
					} catch (Exception e){
						log += 	"\nTest Fail with Exception " + e.ToString();
						log += 	"\n";
					}
	#elif UNITY_ANDROID
					string dbpath = Application.streamingAssetsPath + "/" + dbfilename;	            log += "asset path is: " + dbpath;
					WWW www = new WWW(dbpath);
					Download(www);
					bytes = www.bytes;
	#endif
					if ( bytes != null )
					{
						try{	
							
							//
							//
							// copy database to real file into cache folder
							using( FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write) )
							{
								fs.Write(bytes,0,bytes.Length);             log += "\nCopy database from streaminAssets to persistentDataPath: " + filename;
							}
							
							//
							// initialize database
							//
							db.Open(filename);                               log += "\nDatabase created! filename: " + filename;
							
							Test2(db, ref log);
							
						} catch (Exception e){
							log += 	"\nTest Fail with Exception " + e.ToString();
							log += 	"\n\n Did you copy test.db into StreamingAssets ?\n";
						}
					}
				}
				else
				{
					// it mean we already download prebuild data base and store into persistantPath
					// lest update, I will call Test
					
					try{
						//
						// initialize database
						//
						db.Open(filename);                               log += "Database created! filename:"+filename;
						
						Test(db, ref log);
						
					} catch (Exception e){
						log += 	"\nTest Fail with Exception " + e.ToString();
						log += 	"\n on WebPlayer it must give an exception, it's normal.";
					}
					
				}
			}
#if ENCRYPTION
			//
			// ENCRYPTION
			// 
			
			if ( GUI.Button(new Rect (170,170,150,70), "Run SQLite\nfor ENCRYPTION scenario") ) 
			{
				
				try {
					
					db = new SQLiteDB();
					
					log = "";
	
					// a product persistant database path.
					string filename = Application.persistentDataPath + "/demo_from_encryption.db";
					
					File.Delete(filename);
					
					db.Open(filename);
	
					
					//
					// set ENCRYPTION
					//
					SQLiteQuery qr = new SQLiteQuery(db,"PRAGMA hexkey=\"0x0102030405060708090a0b0c0d0e0f10\";");
					qr.Step();
					qr.Release();
						
					//
					// create table
					//
					qr = new SQLiteQuery(db, queryCreate); 
					qr.Step();												
					qr.Release();                                        log += "\nTable created.";
					
					//
					// insert string and blob
					//
					qr = new SQLiteQuery(db, queryInsert); 
					qr.Bind(testString);
					qr.Bind(testBlob);
					qr.Step();
					qr.Release();                                        log += "\nInsert test string and blob.";
					
					
					// close
					db.Close();
										
					// and open again
					db.Open(filename);
					
					//
					// set ENCRYPTION AGAIN, you could  try change to see ENCRYPTION works
					//
					qr = new SQLiteQuery(db,"PRAGMA hexkey=\"0x0102030405060708090a0b0c0d0e0f10\";");
					qr.Step();
					qr.Release();
					
					// do test
					Test2( db, ref log );
					
				} catch (Exception e){
					log += 	"\nTest Fail with Exception " + e.ToString();
					log += 	"\n on WebPlayer it must give an exception, it's normal.";
				}
			}
#endif
		}
		else
		{
			if ( GUI.Button(new Rect (10,10,150,50), "Back") ) 
			{
				db = null;
			}
			GUI.Label (new Rect (10,70,600,600), log);
		}
	}
コード例 #58
0
ファイル: StageDbDao.cs プロジェクト: hanahanaside/JPN
	//データベースを開く
	private SQLiteDB OpenDatabase () {
		SQLiteDB sqliteDB = new SQLiteDB ();
		string fileName = Application.persistentDataPath + "/" + DatabaseHelper.DATABASE_FILE_NAME;
		sqliteDB.Open (fileName);
		return sqliteDB;
	}
コード例 #59
0
ファイル: DemoObject3.cs プロジェクト: CoderBear/ARG-Zombies
	void Update () {
	
		if(test == true)		
		{
			
			test = false;
			
			SQLiteQuery qr = null;
			SQLiteDB db = null;
			
			try{
				db = new SQLiteDB();
				db.Open(FILE);
				
				db.Key("0x0102030405060708090a0b0c0d0e0f10");
				// or
				//qr = new SQLiteQuery(db, queryKey); 
				//qr.Step();
				//qr.Release();
				//qr = null;
				
				qr = new SQLiteQuery(db,queryCreate);
				qr.Step();
				qr.Release();
				qr = null;
				
				
				qr = new SQLiteQuery(db,queryCreate2);
				qr.Step();
				qr.Release();
				qr = null;
					
				qr = new SQLiteQuery(db, queryInsert); 
				qr.Bind(testString);
				qr.Bind(testBlob);
				qr.Step();
				qr.Step();
				qr.Step();
				qr.Release();
				qr = null;

				
				db.Close();
				db = null;
				
				
				UnityEngine.Debug.Log("Close and open again.");
	
				
				db = new SQLiteDB();
				db.Open(FILE);
				
				db.Key("0x0102030405060708090a0b0c0d0e0f10");
				// or
				//qr = new SQLiteQuery(db, queryKey); 
				//qr.Step();
				//qr.Release();
				//qr = null;
					
				qr = new SQLiteQuery(db,queryCreate3);
				qr.Step();
				qr.Release();
				qr = null;
					
				qr = new SQLiteQuery(db, queryInsert); 
				qr.Bind(testString);
				qr.Bind(testBlob);
				qr.Step();
				qr.Step();
				qr.Step();
				qr.Release();
				qr = null;
				
				String testString2;
				qr = new SQLiteQuery(db, querySelect); 
				while(qr.Step())
				{
					testString2 = qr.GetString("str_field");
					testString2.ToString();
				}
				qr.Release();
				qr = null;
	
				db.Close();
				
				db = null;
				
				UnityEngine.Debug.Log("Done");
			}catch(Exception e)
			{
				UnityEngine.Debug.LogError(e.Message);
				
				if(qr!=null)
					qr.Release();
				qr = null;
				if(db!=null)
					db.Close();
				db=null;
			}

		}
		
	}
コード例 #60
0
ファイル: SQLiteLoader.cs プロジェクト: Gigatrappeur/NLE
 public SQLiteLoader(string filename)
 {
     this.db = new SQLiteDB(filename);
 }