// Сохранить сценарии в SQLite static public void SaveListToSQLite(ScenarioList list) { string[] temp = new string[0]; list.Save(ref temp); // Если база не существует - создать базу if (!File.Exists(CurrentFileName)) { SQLiteConnection.CreateFile(CurrentFileName); SQLiteConnection.Shutdown(true, true); // Пересоздать таблицу m_dbConn = new SQLiteConnection("Data Source = " + CurrentFileName + "; Version = 3;"); m_dbConn.Open(); m_sqlCmd = new SQLiteCommand(m_dbConn); m_sqlCmd.Connection = m_dbConn; //m_sqlCmd.CommandText = "CREATE TABLE IF NOT EXISTS Scenario (id INTEGER PRIMARY KEY AUTOINCREMENT, Title TEXT)"; m_sqlCmd.CommandText = "CREATE TABLE IF NOT EXISTS Scenario (id INTEGER PRIMARY KEY AUTOINCREMENT, Title TEXT," + "ScenarioName TEXT," + "ScenarioType TEXT," + "ScenarioPack TEXT," + "ScenarioDestination TEXT" + ")"; m_sqlCmd.ExecuteNonQuery(); m_dbConn.Close(); } m_dbConn = new SQLiteConnection("Data Source = " + CurrentFileName + "; Version = 3;"); m_dbConn.Open(); // Очистить таблицу m_sqlCmd = new SQLiteCommand(m_dbConn); m_sqlCmd.Connection = m_dbConn; m_sqlCmd.CommandText = "DELETE FROM Scenario"; m_sqlCmd.ExecuteNonQuery(); // Сохранить все temp int index = 0; foreach (string s in temp) { //m_sqlCmd.CommandText = "INSERT INTO Scenario (Title) VALUES ('" + s + "')"; m_sqlCmd.CommandText = "INSERT INTO Scenario " + "(" + "Title," + "ScenarioName," + "ScenarioType," + "ScenarioPack," + "ScenarioDestination" + ") values (" + "'" + s + "'," + "'" + list.list[index].Title + "'," + "'" + list.list[index].scenarioType.ToString() + "'," + "'" + list.list[index].Zip.ToString() + "'," + "'" + list.list[index].Destination + "'" + ")"; m_sqlCmd.ExecuteNonQuery(); } m_dbConn.Close(); }
// Сохранить сценарии в файл на диске static public void SaveListToText(ScenarioList list) { list.Save(CurrentFileName); }