Как говорится в названии: я могу только обновить базу данных SQLite один раз. Я использую этот код для создания базы данных и ее таблиц:Я могу обновить базу данных Sqlite только один раз, как преодолеть это?
public static void GenDB()
{
if (!System.IO.File.Exists("Key.sqlite"))
{
SQLiteConnection.CreateFile("Key.sqlite");
SQLiteConnection m_dbConnection;
m_dbConnection =
new SQLiteConnection("Data Source=Key.sqlite;Version=3;");
m_dbConnection.Open();
string createTableQuery = @"CREATE TABLE IF NOT EXISTS [MyKey] (
[ID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
[Key] VARCHAR(2048) NULL
)";
SQLiteCommand command = new SQLiteCommand(createTableQuery, m_dbConnection);
command.ExecuteNonQuery();
try
{
SQLiteConnection dbConnection;
dbConnection =
new SQLiteConnection("Data Source=Key.sqlite;Version=3;");
string sql = "insert into MyKey (Key) values ('yourkey')";
SQLiteCommand commmand = new SQLiteCommand(sql, dbConnection);
dbConnection.Open();
commmand.ExecuteNonQuery();
MessageBox.Show("Done");
}
catch
{
MessageBox.Show("Error with adding to item to your Database ");
}
}
и это работало отлично
Проблема в этом коде:
try
{
string con = "Data Source=Key.sqlite;Version=3;";
SQLiteConnection updata = new SQLiteConnection(con);
updata.Open();
string sql = "UPDATE MyKey SET Key=('" + Textbox + "') WHERE ID=1";
SQLiteCommand commmand = new SQLiteCommand(sql, updata);
commmand.ExecuteNonQuery();
MessageBox.Show("Done");
}
catch
{
MessageBox.Show("Error with updata to sql lite ");
}
Он работает в первый раз .. и когда Я пытаюсь построить его снова, я получаю ошибку с обновлением до DB
сообщение об ошибке Database is locked
, когда вы говорите, что вы получите сообщение об ошибке, им угадать вы ударяя 'MessageBox.Show («Ошибка с updata в SQL облегченный»);' чтобы увидеть, что происходит с ошибкой 'catch' to 'catch sqlException ex) {MessageBox.Show (ex.Message) Messagebox.Show (ex.StackTrace)}' это скажет вам, что такое ваша ошибка, и если вы можете сообщить нам об этом что ошибка тогда, мы можем помочь вам немного больше –
i Получить 'База данных заблокирована' @SimonPrice –
извините за то, что вы долго хотите вернуться к вам, можете ли вы отредактировать свой вопрос, чтобы дать полный стек nd сообщение об ошибке, пожалуйста, –