// Start is called before the first frame update void Start() { try { var fileName = "sample.db"; var db = new SqliteDatabase(fileName); var query = db.ExecuteQuery("SELECT * FROM charactors"); foreach (var row in query.Rows) { var id = row["id"]; var name = row["name"]; var data1 = row["data1"]; var data2 = row["data2"]; var text = $"ID:{id}, Name:{name}, DATA1:{data1}, DATA2:{data2}"; Charactors.Add(text); } } catch (Exception ex) { Charactors.Add(ex.Message); } }
public static DataTable RequestLoad(DB_ID id) { for (int i = 0; i < databseList.Count; i++) { DatabaseLoadData data = databseList[i]; if (data.id != id) { continue; } if (data.isLoaded) { continue; } SqliteDatabase sqlDB = new SqliteDatabase(data.dbName + ".db"); string selectQuery = "SELECT * FROM " + data.tableName; data.dataTable = sqlDB.ExecuteQuery(selectQuery); data.isLoaded = true; return(data.dataTable); } return(null); }
public async Task GetLocalTalkListAsync(int pageSize, int position) { TalkType type = TalkType.All; switch (position) { case 0: type = TalkType.All; break; case 1: type = TalkType.RecentComment; break; case 2: type = TalkType.All; break; case 3: type = TalkType.All; break; } var list = await SqliteDatabase.Instance().GetTalkList(pageSize, type); talkView.GetLocalTalkSuccess(list); }
// Use this for initialization void Start() { sqlDB = new SqliteDatabase("Greatmans_pick.db"); check = false; gacha_point = GetGachaPoint(); text.text = gacha_point.ToString(); }
public void ChecksInsertedAuthorByCreds() { var database = new SqliteDatabase(new SqliteConnection("DataSource=:memory:")); database.Instance().Connection().Open(); database.Instance().Create(); try { var organization = "organization"; var repo = "repo"; Assert.True( database.Entities().Authors().ContainsOperation().Contains( organization, repo, database .Entities() .Authors() .InsertOperation() .Insert(organization, repo, "email", DateTimeOffset.UtcNow) .Email() ) ); } finally { database.Instance().Connection().Close(); } }
public void InsertsLongEmail() { var database = new SqliteDatabase(new SqliteConnection("DataSource=:memory:")); database.Instance().Connection().Open(); database.Instance().Create(); try { var organization = "organization"; var repo = "repo"; var email = "longer.than.50.longer.than.50.longer.than.50.longer.than.50.longer.than.50"; Assert.Equal( email, database .Entities() .Authors() .InsertOperation() .Insert(organization, repo, email, DateTimeOffset.UtcNow) .Email() ); } finally { database.Instance().Connection().Close(); } }
public void AllowsSameAuthorForTwoRepos() { var database = new SqliteDatabase(new SqliteConnection("DataSource=:memory:")); database.Instance().Connection().Open(); database.Instance().Create(); try { var organization = "organization"; var email = "email"; var moment = DateTimeOffset.UtcNow; var author1 = database.Entities().Authors().InsertOperation() .Insert(organization, "repo1", email, moment); var author2 = database.Entities().Authors().InsertOperation() .Insert(organization, "repo2", email, moment); Assert.Equal( author1.Organization() + author1.Email(), author2.Organization() + author2.Email() ); } finally { database.Instance().Connection().Close(); } }
public void ThrowsOnInsertingSameAuthor() { Assert.Throws <Microsoft.Data.Sqlite.SqliteException>( () => { var database = new SqliteDatabase(new SqliteConnection("DataSource=:memory:")); database.Instance().Connection().Open(); database.Instance().Create(); try { var organization = "organization"; var email = "email"; var repo = "repo"; var moment = DateTimeOffset.UtcNow; var author1 = database.Entities().Authors().InsertOperation() .Insert(organization, repo, email, moment); var author2 = database.Entities().Authors().InsertOperation() .Insert(organization, repo, email, moment); } finally { database.Instance().Connection().Close(); } } ); }
// Use this for initialization void Start() { //変数初期化 for (int i = 0; i < 4; i++) { resflg[i] = 0; } ansflg = 0; Correct[0] = -1; Correct[1] = -1; Correct[2] = -1; Correct[3] = -1; res1 = ""; res2 = ""; res3 = ""; res4 = ""; if (PlayerPrefs.HasKey("playerCount")) { playerCount = PlayerPrefs.GetInt("playerCount"); //プレイヤー人数取得 } // Select SqliteDatabase sqlDB = new SqliteDatabase("question"); string selectQuery = "select * from FE"; DataTable dataTable = sqlDB.ExecuteQuery(selectQuery); Debug.Log("テスト"); string question = ""; foreach (DataRow dr in dataTable.Rows) { Debug.Log("ID:" + dr["ID"].ToString()); question = (string)dr["Question"]; Debug.Log("Question:" + question); Debug.Log("選択肢ア:" + (string)dr["Choice_a"]); Debug.Log("選択肢イ:" + (string)dr["Choice_i"]); Debug.Log("選択肢ウ:" + (string)dr["Choice_u"]); Debug.Log("選択肢エ:" + (string)dr["Choice_e"]); Debug.Log("正解:" + (string)dr["Answer"]); } }
public static void new_test() { res1 = ""; Correct[0] = -1; SqliteDatabase sqlDB = new SqliteDatabase("question"); //コラム数を取得 string query = "select count (*) as ct from FE"; DataTable dT = sqlDB.ExecuteQuery(query); foreach (DataRow dr in dT.Rows) { ct = dr["ct"].ToString(); } //ランダムに1問抽出 int random = Random.Range((int)1, int.Parse(ct) + 1); string rq = "select * from FE where ID = " + random.ToString(); dT = sqlDB.ExecuteQuery(rq); foreach (DataRow dr in dT.Rows) { test = "問題: " + (string)dr["Question"]; a = "ア: " + (string)dr["Choice_a"]; i = "イ: " + (string)dr["Choice_i"]; u = "ウ: " + (string)dr["Choice_u"]; e = "エ: " + (string)dr["Choice_e"]; answer = (string)dr["Answer"]; } }
/// <summary> /// Numbering the target column /// 対象列を採番(数値) /// </summary> /// <param name="column"></param> /// <returns></returns> public string GetAssignNumber(string column) { DataTable dataTable = new DataTable(); string countColumn = "Count"; string countSql = "select max(cast({0} as interger)) as " + countColumn + " from {1}"; this.ExecutetSql.Append(string.Format(countSql, column, this.GetDataAccessAttribute <DataAccessAttribute>(this.BaseType).TableName)); SqliteDatabase sqliteDataBase = new SqliteDatabase(CONNECT_TABLE); dataTable = sqliteDataBase.ExecuteQuery(this.ExecutetSql.ToString()); PropertyInfo propertyInfo = this.BaseType.GetProperty(column); if (propertyInfo == null) { Debug.Log("not found assign column"); return(string.Empty); } DataPropertyAttribute attribute = this.GetDataPropertyAttribute <DataPropertyAttribute>(propertyInfo); if (dataTable.Rows.Count.Equals(0)) { return(this.GetAssignNumberFormat(attribute.MaxLength, "1")); } else { int no = int.Parse(dataTable.Rows[0][countColumn].ToString()) + 1; return(this.GetAssignNumberFormat(attribute.MaxLength, no.ToString())); } }
public async Task GetLocalBlog(int pageSize, int position) { int categoryId = MyApplication.blogCategoryList.Where(s => s.Position == position).FirstOrDefault().CategoryId; var blogList = await SqliteDatabase.Instance().GetBlogList(pageSize, categoryId); blogView.GetLocalBlogSuccess(blogList); }
/// <summary> /// Updates SQL issue /// アップデートSQL発行 /// </summary> public void UpdateSql(object component) { SqliteDatabase sqliteDataBase = new SqliteDatabase(CONNECT_TABLE); // TransactionStart // トランザクション開始 sqliteDataBase.TransactionStart(); try { this.CreateUpdateSql(component); sqliteDataBase.ExecuteNonQueryEx(this.ExecutetSql.ToString()); } catch (SqliteException ex) { Debug.Log(ex.Message + " " + this.ExecutetSql.ToString()); // TransactionRollBack // ロールバック sqliteDataBase.TransactionRollBack(); } finally { this.Init(component.GetType()); } // TransactionCommit // コミット sqliteDataBase.TransactionCommit(); }
/// <summary> /// Issued delete SQL statement /// デリートSQL文発行。 /// </summary> /// <param name="component"></param> public void Delete(object component) { if (ChkDeleteImpossible(component.GetType())) { return; } SqliteDatabase sqliteDataBase = new SqliteDatabase(CONNECT_TABLE); sqliteDataBase.TransactionStart(); try { this.CreateDeleteSql(component); sqliteDataBase.ExecuteNonQueryEx(this.ExecutetSql.ToString()); } catch (SqliteException ex) { Debug.Log(ex.Message + " " + this.ExecutetSql.ToString()); sqliteDataBase.TransactionRollBack(); } finally { this.Init(component.GetType()); } sqliteDataBase.TransactionCommit(); }
/// <summary> /// Unique data presence check /// ユニークデータ存在チェック /// </summary> /// <param name="component"></param> /// <returns>存在:true、非存在:false</returns> public bool ChkPrimaryData(object component) { try { DataTable dataTable = new DataTable(); string countColumn = "Count"; string countSql = "select count(*) as {0} from {1}"; this.ExecutetSql.AppendLine(string.Format(countSql, countColumn, this.GetDataAccessAttribute <DataAccessAttribute>(component.GetType()).TableName)); this.GetPrimaryKeyValue(component); this.CreatePrimaryWhere(component.GetType()); SqliteDatabase sqliteDataBase = new SqliteDatabase(CONNECT_TABLE); dataTable = sqliteDataBase.ExecuteQuery(this.ExecutetSql.ToString()); int count = int.Parse(dataTable.Rows[0][countColumn].ToString()); return(!count.Equals(0)); } catch (SqliteException ex) { Debug.Log(ex.Message + " " + this.ExecutetSql.ToString()); } return(false); }
/// <summary> /// Get the data without duplication from the target column /// 対象列から重複せずにデータを取得 /// </summary> /// <param name="column"></param> /// <param name="type"></param> /// <returns></returns> public string[] GetGroupDataArray(string column, Type type) { try { DataTable dataTable = new DataTable(); string groupSql = "select {0} from {1} group by {2}"; this.ExecutetSql.AppendLine(string.Format(groupSql, column, this.GetDataAccessAttribute <DataAccessAttribute>(type).TableName, column)); SqliteDatabase sqliteDataBase = new SqliteDatabase(CONNECT_TABLE); dataTable = sqliteDataBase.ExecuteQuery(this.ExecutetSql.ToString()); if (dataTable.Rows.Count.Equals(0)) { return(new string[] { }); } string[] dataArray = new string[dataTable.Rows.Count]; for (int i = 0; i < dataTable.Rows.Count; i++) { dataArray[i] = dataTable.Rows[i][column].ToString(); } return(dataArray); } catch (SqliteException ex) { Debug.Log(ex.Message + " " + this.ExecutetSql.ToString()); } return(new string[] { }); }
/// <summary> /// Issue select statements.Get the first data /// セレクトSQL文発行 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public T GetDataFirst <T>() { try { DataTable dataTable = new DataTable(); this.CreateSelectSql(); SqliteDatabase sqliteDataBase = new SqliteDatabase(CONNECT_TABLE); Debug.Log(ExecutetSql.ToString()); dataTable = sqliteDataBase.ExecuteQuery(this.ExecutetSql.ToString()); if (dataTable.Rows.Count.Equals(0)) { return(default(T)); } T data = (T)Activator.CreateInstance(typeof(T), new object[] { }); DataBinding <T> .DataRowToObject(dataTable.Rows[0], data); return(data); } catch (SqliteException ex) { Debug.LogError(ex.Message + " " + this.ExecutetSql.ToString()); } finally { this.Init(this.BaseType); } return(default(T)); }
public void ChecksInsertedWorkById() { var database = new SqliteDatabase(new SqliteConnection("DataSource=:memory:")); database.Instance().Connection().Open(); database.Instance().Create(); try { Assert.True(database.Entities().Works().ContainsOperation().Contains( database.Entities().Works().InsertOperation().Insert( "startCommit", "endCommit", null, database.Entities().Authors().InsertOperation().Insert( "organization", "repo", "email", DateTimeOffset.UtcNow ).Id(), 1u, new DefaultId(), null, DateTimeOffset.UtcNow ).Id() ) ); } finally { database.Instance().Connection().Close(); } }
public void Insert(QuestChapterEntity entity, SqliteDatabase mdb = null) { StringBuilder sb = new StringBuilder(); sb.Append("INSERT INTO quest_chapter VALUES (") .Append(entity.Id) .Append(",") .Append(entity.ChapterNo) .Append(",") .Append("'") .Append(entity.DisplayName) .Append("'") .Append(");"); if (mdb == null) { DbManager.Instance.ExecuteNonQuery(sb.ToString()); } else { DbManager.Instance.ExecuteNonQuery(sb.ToString(), mdb); } }
public void ConfigureDatabase() { try { //Database = new Database.Database(Path.Combine(Settings.DataFolder, "database.db")); Database = new SqliteDatabase(Path.Combine(Settings.DataPath, "database.db")); } catch (DllNotFoundException ex) { Log.Error( $"Error(ignored): Database at {Path.Combine(Settings.DataPath, "database.db")}: {ex.Message}", null); } catch (SQLite.SQLiteException exception) { Log.Error("Unable to open database ", exception); try { File.Delete(Path.Combine(Settings.DataPath, "database.db")); Database = new SqliteDatabase(Path.Combine(Settings.DataPath, "database.db")); } catch (Exception e) { Log.Error("Unable to create database ", e); } } catch (Exception exception) { Log.Error("Unable to create database ", exception); } }
public StatsSynchroniser(int centerId) { _mySqlDatabase = new MySqlDatabase(); _sqliteDatabase = new SqliteDatabase(false); _useGlobal = false; _centerId = centerId; }
public void InsertItem() { if (idField.text != "" && nameField.text != "" && contactField.text != "") { string id = "'" + idField.text + "'"; string name = "'" + nameField.text + "'"; string contact = "'" + contactField.text + "'"; //string id= "'2'"; //string name = "'test'"; //string contact = "'99999'"; SqliteDatabase dbName = new SqliteDatabase("testDb.db"); string insertQuery = "INSERT INTO profile(id , name , contact) VALUES(" + id + "," + name + "," + contact + ")"; try { dbName.ExecuteNonQuery(insertQuery); } catch (System.Exception e) { Debug.Log("Already exists"); } idField.text = ""; nameField.text = ""; contactField.text = ""; QueryItem(); } }
void ClearDatabase() { SqliteDatabase dbName = new SqliteDatabase("testDb.db"); string deleteQuery = "DELETE from profile WHERE 1"; dbName.ExecuteNonQuery(deleteQuery); }
public void DisplayRanking() { SqliteDatabase sqlDB = new SqliteDatabase("rank.db"); string query = "select * from " + table + " order by rank asc"; DataTable dataTable = sqlDB.ExecuteQuery(query); foreach (DataRow dr in dataTable.Rows) { int rank = (int)dr["rank"]; int score = (int)dr["score"]; int battery = (int)dr["battery"]; int time = (int)dr["time"]; Debug.Log("rank=" + rank + ", score=" + score + ", battery=" + battery + ", time=" + time); if (rank == thisRank && score == breakNum && battery == reminginBattery && time == reminingTime) { Debug.Log("^^^^this is your record^^^^"); rankingText.text += "<color=#00ff00>" + string.Format("{0,-3}", rank) + "\t\t\t\t" + string.Format("{0,-3}", score) + "\t\t\t\t" + string.Format("{0,-3}", battery) + "\t\t\t\t" + string.Format("{0,-3}", time) + "</color>\n"; } else { string.Format("{0,3}", rank); rankingText.text += string.Format("{0,-3}", rank) + "\t\t\t\t" + string.Format("{0,-3}", score) + "\t\t\t\t" + string.Format("{0,-3}", battery) + "\t\t\t\t" + string.Format("{0,-3}", time) + "\n"; } } }
private SqliteDatabase db = null; //The database variable #region Connection /// <summary> /// Function that initiates the connection to the database /// </summary> /// <param name="path"></param> public void OpenDatabase ( string p ) { string filepath = p; /* if(!File.Exists(filepath)) { // if it doesn't -> // open StreamingAssets directory and load the db -> WWW loadDB = new WWW("jar:file://" + Application.dataPath + "!/assets/" + p); // this is the path to your StreamingAssets in android while(!loadDB.isDone) {} // CAREFUL here, for safety reasons you shouldn't let this while loop unattended, place a timer and error check // then save to Application.persistentDataPath File.WriteAllBytes(filepath, loadDB.bytes); } */ //open db connection db = new SqliteDatabase( filepath ); }
private void Start() { sqlDB = new SqliteDatabase("dicegame.db"); DefaultPlayer(); SelectOrderScore(); DelieteDB(); }
public static void SQLTableToCSharp() { //读取文件信息 var folder = FileHelper.GetDictionary(Application.dataPath + "/" + ProjectPathConfig.DataBasePath); var db = folder.GetFiles("*.db"); for (int i = 0; i < db.Length; i++) { string dbName = PathHelper.FileNameWithoutSuffix(db[i].Name); SqliteDatabase database = SQLMgr.S.Open(dbName); //获取该数据库下面的所有表 var reader = database.GetAllTableName(); while (reader.Read()) { //获取表信息 string tableName = (string)reader[0]; var tableReader = database.GetTableInfo(tableName); string dirName = Application.dataPath + "/" + ProjectPathConfig.tableCsharpPath + "Sql/Genetate/" + dbName + "/" + tableName + "/"; GenerateDataFile(tableName, tableReader, dirName); GenerateDataTableFile(dbName, tableName, tableReader, dirName); string dirExtendName = Application.dataPath + "/" + ProjectPathConfig.tableCsharpPath + "Sql/Extend/" + dbName + "/" + tableName + "/"; GenerateDataExtendFile(tableName, dirExtendName); GenerateDataTableExtendFile(tableName, dirExtendName); } } AssetDatabase.Refresh(); }
// Use this for initialization void Start() { dialog = GameObject.Find("question").transform.Find("base").gameObject; GameObject button = GameObject.Find("QuestionButton").transform.Find("Button").gameObject; if (TextManager.lang == TextManager.LANGUAGE.JAPANESE) { button.SetActive(true); } SetNorikae(); SetBus(); WriteText(); if (Static.StationNo == null) { Static.StationNo = "01"; } apps = new List <AppData>(); downloads = new List <DownloadData>(); sqlite = new SqliteDatabase("shinkeisei.db"); StartCoroutine(LoadNextScene()); if (Static.FavoStation != "" && setposflag) { toggleEki(Static.FavoStation); } first = false; }
private void CheckIp(OperationContext context) { try { MessageProperties properties = context.IncomingMessageProperties; LogWriter("private void CheckIp " + context); ipItems = new List <string>(); var dataBase = new SqliteDatabase(pathDataBase); ipItems = (List <string>)dataBase.LoadIp(); var endPoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty; if (endPoint != null) { string propertyText = endPoint.Address; LogWriter("Endpoint IP " + propertyText + " Checking with black list"); foreach (string ip in ipItems) { if (propertyText.Contains(ip)) { throw new BlackListExeption("Endpoint IP = " + ip + " is in black list! Connection closed"); } } } } catch (BlackListExeption ex) { throw new BlackListExeption(ex.Message); } catch (SQLiteException ex) { throw new FaultException <InvalidDataBaseFault>(new InvalidDataBaseFault("Database error. " + ex.Message)); } }
/// <summary> /// Get string alias list separated by " " /// </summary> /// <returns></returns> public List <string> GetDataAlias() { try { LogWriter("public string GetDataAlias "); OperationContext context = OperationContext.Current; CheckIp(context); var dataBase = new SqliteDatabase(pathDataBase); return((List <string>)dataBase.AliasList()); } catch (BlackListExeption ex) { var fault = new InvalidUserIPFault(ex.Message); throw new FaultException <InvalidUserIPFault>(fault, new FaultReason(fault.ToString())); } catch (InvalidOperationException ex) { var fault = new ItemNotExcistFault(ex.Message); throw new FaultException <ItemNotExcistFault>(fault, new FaultReason(fault.ToString())); } catch (Exception ex) { var fault = new InvalidUnknownFault(ex.Message); throw new FaultException <InvalidUnknownFault>(fault, new FaultReason(fault.ToString())); } }
public override IssueType HasIssue(List <string> messages) { string error; try { if (!RepoMetadata.TryInitialize(this.Tracer, this.Enlistment.DotGVFSRoot, out error)) { messages.Add("Could not open repo metadata: " + error); return(IssueType.CantFix); } if (!RepoMetadata.Instance.TryGetBlobSizesRoot(out this.blobSizeRoot, out error)) { messages.Add("Could not find blob sizes root in repo metadata: " + error); return(IssueType.CantFix); } } finally { RepoMetadata.Shutdown(); } string blobsizesDatabasePath = Path.Combine(this.blobSizeRoot, BlobSizes.DatabaseName); if (SqliteDatabase.HasIssue(blobsizesDatabasePath, new PhysicalFileSystem(), out error)) { messages.Add("Could not load blob size database: " + error); return(IssueType.Fixable); } return(IssueType.None); }
//private static SqliteDatabase _db; ////private static DispatcherTimer _dtSave; public static void Init(SqliteDatabase db) { if (db == null) return; ////_dtSave = new DispatcherTimer(); ////_dtSave.Interval = TimeSpan.FromSeconds(60); //attempt ////_dtSave.Tick += (o, a) => { //// _dtSave.Stop(); //// if (!_db.SqliteDb.IsInTransaction) //// { //// PersistAlertInformation(); //// } //// _dtSave.Start(); ////}; //_db = db; //_db.SqliteDb.CreateTable<AlertMessage>(); }
public static void Init(SqliteDatabase db) { if (db == null) return; if (_isInitialized) return; _dtSave = new DispatcherTimer(); _dtSave.Interval = TimeSpan.FromSeconds(60); //attempt _dtSave.Tick += (o, a) => { _dtSave.Stop(); if (!_db.SqliteDb.IsInTransaction) { PersistLoggingInformation(); } _dtSave.Start(); }; _db = db; _db.SqliteDb.CreateTable<LogMessage>(); _isInitialized = true; }
/// <summary> /// Opens the MBTiles database file located at Filepath. /// </summary> private void Open () { if (db != null) db.Close (); db = new SqliteDatabase (); db.Open (filepath); DataTable dt = db.ExecuteQuery ("SELECT * FROM metadata"); #if DEBUG_LOG string dbg = String.Empty; foreach (DataRow dbgRow in dt.Rows) { foreach (string col in dt.Columns) { dbg += "\t" + dbgRow[col]; } dbg += "\n"; } Debug.Log("DEBUG: MBTilesLayer.Update: metadata:\n" + dbg); #endif metadataRowNameLookedFor = "version"; DataRow row = dt.Rows.Find (metadataMatchPredicate); if (row == null) { db.Close (); throw new SqliteException ("missing 'version' in metadata"); } version = row ["value"] as string; switch (version) { case "1.0.0": metadataRowNameLookedFor = "bounds"; row = dt.Rows.Find (metadataMatchPredicate); if (row != null) { string[] tokens = (row ["value"] as string).Split (new Char[] { ',' }); bounds = new Rect (Single.Parse (tokens [0]), Single.Parse (tokens [1]), Single.Parse (tokens [2]), Single.Parse (tokens [3])); } metadataRowNameLookedFor = "center"; row = dt.Rows.Find (metadataMatchPredicate); if (row != null) { string[] tokens = (row ["value"] as string).Split (new Char[] { ',' }); center = new Vector3 (Single.Parse (tokens [0]), Single.Parse (tokens [1]), Single.Parse (tokens [2])); } metadataRowNameLookedFor = "minzoom"; row = dt.Rows.Find (metadataMatchPredicate); if (row != null) { minZoom = Single.Parse (row ["value"] as string); } metadataRowNameLookedFor = "maxzoom"; row = dt.Rows.Find (metadataMatchPredicate); if (row != null) { maxZoom = Single.Parse (row ["value"] as string); } metadataRowNameLookedFor = "name"; row = dt.Rows.Find (metadataMatchPredicate); if (row != null) { _name = row ["value"] as string; } metadataRowNameLookedFor = "description"; row = dt.Rows.Find (metadataMatchPredicate); if (row != null) { description = row ["value"] as string; } metadataRowNameLookedFor = "attribution"; row = dt.Rows.Find (metadataMatchPredicate); if (row != null) { attribution = row ["value"] as string; } metadataRowNameLookedFor = "template"; row = dt.Rows.Find (metadataMatchPredicate); if (row != null) { template = row ["value"] as string; } break; default: throw new SqliteException ("unsupported SQLite version: " + version); } isReadyToBeQueried = true; }
private SqliteDatabase GetDatabase(string fileName) { string path = Application.dataPath + "/StreamingAssets/"; if (Application.platform == RuntimePlatform.Android) path = "jar:file://" + Application.dataPath + "?/assets/"; else if (Application.platform == RuntimePlatform.IPhonePlayer) path = Application.dataPath + "/Raw/"; if (!File.Exists(path + fileName)) { Debug.LogError("Failed to find db file at: " + path + fileName); return null; } SqliteDatabase db; if(!dbDictionary.TryGetValue(fileName, out db)) { db = new SqliteDatabase(fileName); dbDictionary.Add(fileName, db); } return db; }
/// <summary> /// Closes the MBTiles database file. /// </summary> private void Close () { isReadyToBeQueried = false; if (db != null) { db.Close (); db = null; } }
IEnumerator gameEnd(bool winFlg=false) { //GameObjectを生成、生成したオブジェクトを変数に代入 GameObject panelPrefab = (GameObject)Instantiate(panelObject); panelPrefab.GetComponent<Image>().color = new Color(255f, 255f, 255f, 0); //Canvasの子要素として登録する panelPrefab.transform.SetParent (canvasObject.transform, false); yield return new WaitForSeconds(0.5f); int coin = 0; if (winFlg) { coin = 10; } else { coin = 1; } //データベースに登録 //お金アップデート SqliteDatabase sqlDB = new SqliteDatabase("UserStatus.db"); string query = "update UserStatus set money = (money + " + coin + ") where id = 1"; sqlDB.ExecuteNonQuery(query); //end object群を全部表示 GameObject endPrefab; for (int i = 0; i < gameEndObject.Length; i++) { endPrefab = (GameObject)Instantiate(gameEndObject[i]); float scaleX = endPrefab.transform.localScale.x; float scaleY = endPrefab.transform.localScale.y; float scaleZ = endPrefab.transform.localScale.z; endPrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); //Canvasの子要素として登録する endPrefab.transform.SetParent (canvasObject.transform, false); if (endPrefab.GetComponent<Text>() != null) { if (winFlg) { endPrefab.GetComponent<Text>().text = "勝利"; } else { endPrefab.GetComponent<Text>().text = "敗北"; } } string prefabName = endPrefab.name; prefabName = prefabName.Replace("(Clone)", ""); if (prefabName == "BattleResultDialog") { //coin設定 GameObject coinChild1 = endPrefab.transform.FindChild("coin_number_1").gameObject; GameObject coinChild2 = endPrefab.transform.FindChild("coin_number_2").gameObject; String stCoin = coin.ToString(); String coin1= "0"; String coin2= "0"; if (stCoin.Length >= 2) { coin2 = stCoin.Substring(0, 1); coin1 = stCoin.Substring(1, 1); } else { coin1 = stCoin.Substring(0, 1); } coinChild1.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Prefab/Number/" + "number4_red_" + coin1); coinChild2.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Prefab/Number/" + "number4_red_" + coin2); } iTween.ScaleTo(endPrefab, iTween.Hash("x", scaleX, "y", scaleY, "z", scaleZ, "time", 0.3f)); yield return new WaitForSeconds(0.5f); } networkPlayerScript.gameEnd(); }
IEnumerator gameCleared() { SqliteDatabase sqlDB = new SqliteDatabase("UserStatus.db"); string selectQuery = "select * from Stage where stage_number = " + stageNumber + " and difficulty = " + difficultyType; DataTable stageTable = sqlDB.ExecuteQuery(selectQuery); bool highScoreFlg = false; if (stageTable.Rows.Count == 0) { highScoreFlg = true; } else { int beforeScore = (int)stageTable.Rows[0]["score"]; if (beforeScore < point) { highScoreFlg = true; } } //panelの表示 GameObject panelPrefab = (GameObject)Instantiate(panelObject); panelPrefab.GetComponent<Image>().color = new Color(255f, 255f, 255f, 0); panelPrefab.transform.SetParent (canvasObject.transform, false); yield return new WaitForSeconds(0.2f); //ダイアログの表示 GameObject dialogPrefab = (GameObject)Instantiate(endDialogObject); float scaleX = dialogPrefab.transform.localScale.x; float scaleY = dialogPrefab.transform.localScale.y; float scaleZ = dialogPrefab.transform.localScale.z; dialogPrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); dialogPrefab.transform.SetParent (canvasObject.transform, false); iTween.ScaleTo(dialogPrefab, iTween.Hash("x", 1, "y", 1, "z", 1, "time", 0.3f)); yield return new WaitForSeconds(0.2f); //タイトルの表示 GameObject endTitlePrefab = (GameObject)Instantiate(endTitleObject); scaleX = endTitlePrefab.transform.localScale.x; scaleY = endTitlePrefab.transform.localScale.y; scaleZ = endTitlePrefab.transform.localScale.z; endTitlePrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); endTitlePrefab.transform.SetParent (canvasObject.transform, false); iTween.ScaleTo(endTitlePrefab, iTween.Hash("x", scaleX, "y", scaleY, "z", scaleZ, "time", 0.3f)); yield return new WaitForSeconds(0.2f); //スコアの表示 GameObject scorePrefab = (GameObject)Instantiate(endScoreObject); scaleX = scorePrefab.transform.localScale.x; scaleY = scorePrefab.transform.localScale.y; scaleZ = scorePrefab.transform.localScale.z; scorePrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); scorePrefab.transform.SetParent (canvasObject.transform, false); //スコアのテキストを変更 GameObject scoreText = scorePrefab.transform.FindChild("ScoreText").gameObject; scoreText.GetComponent<Text>().text = point.ToString(); iTween.ScaleTo(scorePrefab, iTween.Hash("x", 1, "y", 1, "z", 1, "time", 0.3f)); yield return new WaitForSeconds(0.2f); //ハイスコアの表示 if (highScoreFlg) { GameObject highScorePrefab = (GameObject)Instantiate(endHighScoreObject); scaleX = highScorePrefab.transform.localScale.x; scaleY = highScorePrefab.transform.localScale.y; scaleZ = highScorePrefab.transform.localScale.z; highScorePrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); highScorePrefab.transform.SetParent (canvasObject.transform, false); iTween.ScaleTo(highScorePrefab, iTween.Hash("x", scaleX, "y", scaleY, "z", scaleZ, "time", 0.3f)); yield return new WaitForSeconds(0.2f); } //コインの表示 GameObject coinPrefab = (GameObject)Instantiate(endCoinObject); scaleX = coinPrefab.transform.localScale.x; scaleY = coinPrefab.transform.localScale.y; scaleZ = coinPrefab.transform.localScale.z; coinPrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); coinPrefab.transform.SetParent (canvasObject.transform, false); iTween.ScaleTo(coinPrefab, iTween.Hash("x", 1, "y", 1, "z", 1, "time", 0.3f)); yield return new WaitForSeconds(0.2f); //コインテキストの表示 Text coinTextPrefab = (Text)Instantiate(endCoinText); coinTextPrefab.transform.SetParent (canvasObject.transform, false); //コインの計算 int coin = (point / 1000); coinTextPrefab.text = coin.ToString(); yield return new WaitForSeconds(0.2f); //ボタンの表示 GameObject endButtonPrefab = (GameObject)Instantiate(endMenuButton); scaleX = endButtonPrefab.transform.localScale.x; scaleY = endButtonPrefab.transform.localScale.y; scaleZ = endButtonPrefab.transform.localScale.z; endButtonPrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); endButtonPrefab.transform.SetParent (canvasObject.transform, false); iTween.ScaleTo(endButtonPrefab, iTween.Hash("x", 1, "y", 1, "z", 1, "time", 0.3f)); yield return new WaitForSeconds(0.2f); endButtonPrefab = (GameObject)Instantiate(endRetryButton); scaleX = endButtonPrefab.transform.localScale.x; scaleY = endButtonPrefab.transform.localScale.y; scaleZ = endButtonPrefab.transform.localScale.z; endButtonPrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); endButtonPrefab.transform.SetParent (canvasObject.transform, false); iTween.ScaleTo(endButtonPrefab, iTween.Hash("x", 1, "y", 1, "z", 1, "time", 0.3f)); yield return new WaitForSeconds(0.2f); string query; //インサート if (stageTable.Rows.Count == 0) { query = "insert into Stage(stage_number, difficulty, star, remaining_time, remaining_hp, score, created, updated) values(" + stageNumber + "," + difficultyType + ",0,0,0," + point + ",datetime(),datetime())"; sqlDB.ExecuteNonQuery(query); //アップデート } else { int stageID = (int)stageTable.Rows[0]["id"]; if (highScoreFlg) { query = "update Stage set star=0, remaining_time=0, remaining_hp=0, score=" + point + ",updated=dateTime() where id=" + stageID; sqlDB.ExecuteNonQuery(query); } } //お金アップデート query = "update UserStatus set money = (money + " + coin + ") where id = 1"; sqlDB.ExecuteNonQuery(query); /* int clearTime = cd; //GameObjectを生成、生成したオブジェクトを変数に代入 GameObject panelPrefab = (GameObject)Instantiate(panelObject); panelPrefab.GetComponent<Image>().color = new Color(255f, 255f, 255f, 0); //Canvasの子要素として登録する panelPrefab.transform.SetParent (canvasObject.transform, false); yield return new WaitForSeconds(0.2f); //ダイアログの表示 GameObject clearDialogPrefab = (GameObject)Instantiate(clearDialogObject); float scaleX = clearDialogPrefab.transform.localScale.x; float scaleY = clearDialogPrefab.transform.localScale.y; float scaleZ = clearDialogPrefab.transform.localScale.z; clearDialogPrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); //Canvasの子要素として登録する clearDialogPrefab.transform.SetParent (canvasObject.transform, false); iTween.ScaleTo(clearDialogPrefab, iTween.Hash("x", 1, "y", 1, "z", 1, "time", 0.3f)); yield return new WaitForSeconds(0.2f); //Complete GameObject completePrefab = (GameObject)Instantiate(completeObject); scaleX = completePrefab.transform.localScale.x; scaleY = completePrefab.transform.localScale.y; scaleZ = completePrefab.transform.localScale.z; completePrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); //Canvasの子要素として登録する completePrefab.transform.SetParent (canvasObject.transform, false); if (completePrefab.GetComponent<Text>() == null) { iTween.ScaleTo(completePrefab, iTween.Hash("x", 1, "y", 1, "z", 1, "time", 0.3f)); } else { iTween.ScaleTo(completePrefab, iTween.Hash("x", 0.3f, "y", 0.3f, "z", 0.3f, "time", 0.3f)); } yield return new WaitForSeconds(0.2f); //star //星の数を計算する float decPer = (clearTime * 0.5f) / (limitTime * 1.0f); float decHpPer = (hp * 0.5f) / 2 * decPer; float totalPer = decPer + decHpPer; Debug.Log("DEC PER:" + decPer); Debug.Log("DEC HP PER:" + decHpPer); Debug.Log("TOTAL PER:" + totalPer); //星の数 int starCount = 1; if (totalPer >= 0.49f) { starCount = 3; } else if (totalPer >= 0.35f) { starCount = 2; } int score = (int) Math.Ceiling(totalPer * 10000); int coin = (int) Math.Ceiling(totalPer * 10); Debug.Log("COIN:" + coin); //セーブ SqliteDatabase sqlDB = new SqliteDatabase("UserStatus.db"); string selectQuery = "select * from Stage where stage_number = " + stageNumber + " and difficulty = " + difficultyType; DataTable stageTable = sqlDB.ExecuteQuery(selectQuery); string query; //インサート if (stageTable.Rows.Count == 0) { query = "insert into Stage(stage_number, difficulty, star, remaining_time, remaining_hp, score, created, updated) values(" + stageNumber + "," + difficultyType + "," + starCount + "," + clearTime + "," + hp + "," + score + ",datetime(),datetime())"; sqlDB.ExecuteNonQuery(query); //アップデート } else { int beforeScore = (int)stageTable.Rows[0]["score"]; int stageID = (int)stageTable.Rows[0]["id"]; if (beforeScore < score) { query = "update Stage set star=" + starCount + ", remaining_time=" + hp +", remaining_hp=" + hp + ", score=" + score + ",updated=dateTime() where id=" + stageID; sqlDB.ExecuteNonQuery(query); } } //お金アップデート query = "update UserStatus set money = (money + " + coin + ") where id = 1"; sqlDB.ExecuteNonQuery(query); //結果ダイアログ GameObject resultPrefab = (GameObject)Instantiate(resultDialogObject); scaleX = resultPrefab.transform.localScale.x; scaleY = resultPrefab.transform.localScale.y; scaleZ = resultPrefab.transform.localScale.z; resultPrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); //Canvasの子要素として登録する resultPrefab.transform.SetParent (canvasObject.transform, false); GameObject decTimeChild1 = resultPrefab.transform.FindChild("time_number_1").gameObject; GameObject decTimeChild2 = resultPrefab.transform.FindChild("time_number_2").gameObject; GameObject decTimeChild3 = resultPrefab.transform.FindChild("time_number_3").gameObject; String stTime = clearTime.ToString(); String number1 = "0"; String number2 = "0"; String number3 = "0"; if (stTime.Length >= 3) { number1 = stTime.Substring(0, 1); number2 = stTime.Substring(1, 1); number3 = stTime.Substring(2, 1); } else if (stTime.Length >= 2) { number2 = stTime.Substring(0, 1); number3 = stTime.Substring(1, 1); } else { number3 = stTime.Substring(0, 1); } decTimeChild1.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Prefab/Number/" + "number4_red_" + number1); decTimeChild2.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Prefab/Number/" + "number4_red_" + number2); decTimeChild3.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Prefab/Number/" + "number4_red_" + number3); //hp設定 GameObject decHpChild = resultPrefab.transform.FindChild("hp_number_1").gameObject; String stHp = hp.ToString(); decHpChild.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Prefab/Number/" + "number4_red_" + stHp); //coin設定 GameObject coinChild1 = resultPrefab.transform.FindChild("coin_number_1").gameObject; GameObject coinChild2 = resultPrefab.transform.FindChild("coin_number_2").gameObject; String stCoin = coin.ToString(); String coin1= "0"; String coin2= "0"; if (stCoin.Length >= 2) { coin2 = stCoin.Substring(0, 1); coin1 = stCoin.Substring(1, 1); } else { coin1 = stCoin.Substring(0, 1); } coinChild1.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Prefab/Number/" + "number4_red_" + coin1); coinChild2.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Prefab/Number/" + "number4_red_" + coin2); iTween.ScaleTo(resultPrefab, iTween.Hash("x", 1, "y", 1, "z", 1, "time", 0.3f)); yield return new WaitForSeconds(0.2f); GameObject starPrefab; for (int i = 0; i < starObject.Length; i++) { starPrefab = (GameObject)Instantiate(starObject[i]); scaleX = starPrefab.transform.localScale.x; scaleY = starPrefab.transform.localScale.y; scaleZ = starPrefab.transform.localScale.z; starPrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); if (i == 1 && totalPer <= 0.35f) { starPrefab.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Prefab/item_star_lost"); } else if (i == 2 && totalPer <= 0.49f) { starPrefab.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Prefab/item_star_lost"); } //Canvasの子要素として登録する starPrefab.transform.SetParent (canvasObject.transform, false); // 4秒かけて、y軸を3倍に拡大 iTween.ScaleTo(starPrefab, iTween.Hash("x", 1, "y", 1, "z", 1, "time", 0.3f)); yield return new WaitForSeconds(0.2f); } //button GameObject endButtonPrefab; for (int i = 0; i < endButtonObject.Length; i++) { endButtonPrefab = (GameObject)Instantiate(endButtonObject[i]); scaleX = endButtonPrefab.transform.localScale.x; scaleY = endButtonPrefab.transform.localScale.y; scaleZ = endButtonPrefab.transform.localScale.z; endButtonPrefab.transform.localScale = new Vector3((scaleX / 3), (scaleY / 3), (scaleZ / 3)); //Canvasの子要素として登録する endButtonPrefab.transform.SetParent (canvasObject.transform, false); // 4秒かけて、y軸を3倍に拡大 iTween.ScaleTo(endButtonPrefab, iTween.Hash("x", 1, "y", 1, "z", 1, "time", 0.3f)); yield return new WaitForSeconds(0.2f); } */ yield return new WaitForSeconds(0.2f); }
// Use this for initialization void Start() { Resources.UnloadUnusedAssets(); StartCoroutine(viewStart()); //使用中のキャラ取得 SqliteDatabase sqlDB = new SqliteDatabase("UserStatus.db"); string selectQuery = "select * from Character where select_flg = 1"; DataTable characterTable = sqlDB.ExecuteQuery(selectQuery); if (characterTable.Rows.Count >= 1) { charaNumber = (int) characterTable.Rows[0]["id"]; GameObject selectCharaPrefab = Resources.Load <GameObject> ("Prefab/Chara/Character" + charaNumber); chara = GameObject.Instantiate(selectCharaPrefab) as GameObject; chara.transform.localPosition = new Vector3(-2.24f, 11.56f, -1.0f); chara.name = "Character"; //スキル設定 skillNumber = (int) characterTable.Rows[0]["skill_number"]; skillName = (string) characterTable.Rows[0]["skill_name"]; skillType = (int) characterTable.Rows[0]["skill_type"]; skillLevel = (int) characterTable.Rows[0]["get_count"]; addSkillCount(); //キャラを落ちないように設定 chara.GetComponent<Rigidbody2D>().isKinematic = true; sr = chara.GetComponent<SpriteRenderer>(); charaDefaultPositionX = chara.transform.localPosition.x; StartCoroutine(gameStart()); } boosterEffect = (GameObject)Resources.Load("Effect/Booster"); //CameraScriptを取得 cameraScript = (CameraScript) cameraObject.GetComponent<CameraScript>(); }
// Use this for initialization void Start() { StartCoroutine(viewStart()); //使用中のキャラ取得 SqliteDatabase sqlDB = new SqliteDatabase("UserStatus.db"); string selectQuery = "select * from Character where select_flg = 1"; DataTable characterTable = sqlDB.ExecuteQuery(selectQuery); if (characterTable.Rows.Count >= 1) { charaNumber = (int) characterTable.Rows[0]["id"]; charaHeadImage.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Image/Character/Chara" + charaNumber + "/head"); GameObject selectCharaPrefab = Resources.Load <GameObject> ("Prefab/Chara/Character" + charaNumber); chara = GameObject.Instantiate(selectCharaPrefab) as GameObject; chara.transform.localPosition = new Vector3(-1.24f, 11.56f, -1.0f); chara.name = "Character"; //スキル設定 skillNumber = (int) characterTable.Rows[0]["skill_number"]; skillName = (string) characterTable.Rows[0]["skill_name"]; skillType = (int) characterTable.Rows[0]["skill_type"]; skillLevel = (int) characterTable.Rows[0]["get_count"]; addSkillCount(); //キャラを落ちないように設定 chara.GetComponent<Rigidbody2D>().isKinematic = true; // プレハブを取得 floorPrefab = (GameObject)Resources.Load("Prefab/FloorCube"); bombPrefab = (GameObject)Resources.Load("Prefab/Bomb"); jumpBombPrefab = (GameObject)Resources.Load("Prefab/JumpBomb"); moveFloorPrefab = (GameObject)Resources.Load("Prefab/FloorMove"); rockPrefab = (GameObject)Resources.Load("Prefab/FloorRock"); wallPrefab = (GameObject)Resources.Load("Prefab/FloorWall"); goalStarPrefab = (GameObject)Resources.Load("Prefab/GoalStar"); sr = chara.GetComponent<SpriteRenderer>(); charaDefaultPositionX = chara.transform.localPosition.x; StartCoroutine(gameInit()); } }
void Start() { sqlDB = new SqliteDatabase("UserStatus.db"); StartCoroutine(characterInit()); StartCoroutine(databaseInit()); }
private void charaInit() { SqliteDatabase sqlDB = new SqliteDatabase("UserStatus.db"); //キャラクター系設定 string selectQuery = "select * from Character where get_flg = 1"; DataTable characterTable = sqlDB.ExecuteQuery(selectQuery); //現在選択中のキャラ for (int i = 0; i < characterTable.Rows.Count; i++) { if ((int)characterTable.Rows[i]["select_flg"] == 1) { charaNumber = (int) characterTable.Rows[i]["id"]; //スキル設定 skillNumber = (int) characterTable.Rows[i]["skill_number"]; skillName = (string) characterTable.Rows[i]["skill_name"]; skillType = (int) characterTable.Rows[i]["skill_type"]; skillLevel = (int) characterTable.Rows[i]["get_count"]; addSkillCount(); break; } } //キャラ画像設定 charaHeadImage.GetComponent<Image>().sprite = Resources.Load <Sprite> ("Image/Character/Chara" + charaNumber + "/head"); }