Started the work for SQLI
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Data.SQLite;
|
||||
using System.IO;
|
||||
|
||||
namespace Test_Merge
|
||||
{
|
||||
public class SqliteStorage
|
||||
{
|
||||
private const string DATABASE_FOLDER = "./Data";
|
||||
private const string DATABASE_FILE = "/database.sqlite";
|
||||
private const string CONNECTION_STRING = "Data Source=" + DATABASE_FOLDER + DATABASE_FILE + ";Version=3;";
|
||||
public SqliteStorage()
|
||||
{
|
||||
Load();
|
||||
}
|
||||
private void Load()
|
||||
{
|
||||
if (!Directory.Exists(DATABASE_FOLDER))
|
||||
Directory.CreateDirectory(DATABASE_FOLDER);
|
||||
|
||||
if (!File.Exists(DATABASE_FOLDER + DATABASE_FILE))
|
||||
{
|
||||
SQLiteConnection.CreateFile(DATABASE_FOLDER + DATABASE_FILE);
|
||||
}
|
||||
else
|
||||
{
|
||||
//We are not using the existing DataBase
|
||||
File.Delete(DATABASE_FOLDER+DATABASE_FILE);
|
||||
}
|
||||
|
||||
|
||||
using (var connection = new SQLiteConnection(CONNECTION_STRING))
|
||||
{
|
||||
connection.Open();
|
||||
|
||||
//Create the drivers table
|
||||
string createDriversTableQuery = @"CREATE TABLE IF NOT EXISTS Drivers
|
||||
(ID INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
Name VARCHAR NOT NULL);";
|
||||
using (var command = new SQLiteCommand(createDriversTableQuery, connection))
|
||||
{
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
|
||||
//Create the drivers table
|
||||
string createPitstopTableQuery = @"CREATE TABLE Pitstops
|
||||
(Lap INTEGER NOT NULL,
|
||||
DriverID INTEGER NOT NULL,
|
||||
Tyre VARCHAR,
|
||||
PRIMARY KEY (Lap,DriverID));";
|
||||
using (var command = new SQLiteCommand(createDriversTableQuery, connection))
|
||||
{
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
|
||||
//Create the stats
|
||||
string createStatsTableQuery = @"CREATE TABLE IF NOT EXISTS Stats
|
||||
(Lap INTEGER NOT NULL,
|
||||
DriverID INTEGER NOT NULL,
|
||||
Tyre VARCHAR NOT NULL,
|
||||
LapTime INTEGER NOT NULL,
|
||||
Sector1 INTEGER NOT NULL,
|
||||
Sector2 INTEGER NOT NULL,
|
||||
Sector3 INTEGER NOT NULL,
|
||||
GapToLeader INTEGER NOT NULL,
|
||||
Position INTEGER NOT NULL,
|
||||
PRIMARY KEY (Lap, DriverID));";
|
||||
using (var command = new SQLiteCommand(createStatsTableQuery, connection))
|
||||
{
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user