Ответ 1
Для выполнения любого вида команды определения данных в базе данных вам нужно открытое соединение для передачи команды. В вашем коде вы создаете соединение ПОСЛЕ выполнения запроса.
Конечно, после этого создания, вам нужно открыть соединение
if (!System.IO.File.Exists("C:\\Users\\abc\\Desktop\\1\\synccc.sqlite"))
{
Console.WriteLine("Just entered to create Sync DB");
SQLiteConnection.CreateFile("C:\\Users\\abc\\Desktop\\1\\synccc.sqlite");
using(var sqlite2 = new SQLiteConnection("Data Source=C:\\Users\\abc\\Desktop\\1\\synccc.sqlite"))
{
sqlite2.Open();
string sql = "create table highscores (name varchar(20), score int)";
SQLiteCommand command = new SQLiteCommand(sql, sqlite2);
command.ExecuteNonQuery();
}
}
Однако если вы используете версию 3 провайдера, вам не нужно проверять наличие файла. Простое открытие соединения создаст файл, если он не существует.