private static void CreateDatabase(string competitionName) { string databaseDirectory = ImagePaths.GetDatabaseDirectory(competitionName); Directory.CreateDirectory(databaseDirectory); string databaseFilePath = ImagePaths.GetDatabaseFile(competitionName); if (File.Exists(databaseFilePath) == false) { //SQLiteConnection.CreateFile(databaseFilePath); SQLiteConnection dbConnection = new SQLiteConnection("DataSource=" + databaseFilePath + ";Version=3;"); dbConnection.Open(); String createScoresTableCommandString = "CREATE TABLE IF NOT EXISTS scores (timestamp TEXT, name VARCHAR(255) NOT NULL, author VARCHAR(100), title VARCHAR(100), score NUMBER(2) NOT NULL)"; SQLiteCommand createScoresTableCommand = new SQLiteCommand(createScoresTableCommandString, dbConnection); createScoresTableCommand.ExecuteNonQuery(); String createHeldImagesTableCommandString = "CREATE TABLE IF NOT EXISTS held_images (timestamp TEXT, name VARCHAR(255) NOT NULL)"; SQLiteCommand createHeldImagesTableCommand = new SQLiteCommand(createHeldImagesTableCommandString, dbConnection); createHeldImagesTableCommand.ExecuteNonQuery(); String createWinnersTableCommandString = "CREATE TABLE IF NOT EXISTS winners (timestamp TEXT, name VARCHAR(255) NOT NULL, position VARCHAR(2) NOT NULL)"; SQLiteCommand createWinnersTableCommand = new SQLiteCommand(createWinnersTableCommandString, dbConnection); createWinnersTableCommand.ExecuteNonQuery(); dbConnection.Close(); } }
internal static string GetDatabaseFile(string competitionName) { return(ImagePaths.GetDatabaseDirectory(competitionName) + "/" + competitionName + ".sqlite"); }