2016-08-09 5 views
0

Я разрабатываю приложение C#, которое берет некоторые данные из текстового поля и после нажатия кнопки сохранения сохраняет данные в SQLite DB. Но я получаю сообщение об ошибке, когда я нажимаю кнопку сохранения. Я попытался найти решение для него в Интернете. Но ничего не получилось. Я получаю ошибку в этой строке:Необработанное исключение типа «System.Data.SQLite.SQLiteException»

sql_cmd.ExecuteNonQuery(); 

Это ошибка я получаю

необработанное исключение типа «System.Data.SQLite.SQLiteException» произошло в System.Data.SQLite .dll
Дополнительная информация: SQL логическая ошибка или отсутствует база данных
нет такой таблицы: информация о

Это мой код

private SQLiteConnection sql_con; 
private SQLiteCommand sql_cmd; 
private SQLiteDataAdapter DB; 
private DataSet DS = new DataSet(); 
private DataTable DT = new DataTable(); 

//private Container components = null; 
public EnterDataFrm() 
{ 
    InitializeComponent(); 
} 

//method to set the coonection string 
private void SetConnection() 
{ 
    try 
    { 
     sql_con = new SQLiteConnection(@"Data Source=C:\Users\josriskandarajah\Documents\Sample Projects\sqlite\sqlite\sqlite\bin\TestDb.sqlite;Version=3;New=False;Compress=True;"); 
    } 
    catch(Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 
} 

//method for executing query 
private void ExecuteQuery(string txtQuery) 
{ 
    SetConnection(); 
    sql_con.Open(); 

    sql_cmd = sql_con.CreateCommand(); 
    sql_cmd.CommandText = txtQuery; 

    sql_cmd.ExecuteNonQuery(); 
    sql_con.Close(); 
} 

private void Add() 
{ 
    string txtSQLQuery = "insert into Info (ID,FirstName,LastName,Age) values ('" + this.txtID.Text + "','" + this.txtFirstName.Text + "','" + this.txtLastName.Text + "','" + this.txtAge.Text + "')"; 
    ExecuteQuery(txtSQLQuery); 
} 


private void btnSave_Click(object sender, EventArgs e) 
{ 
    Add(); 
} 
+0

Что содержит 'txtQuery'? –

+0

@john, как выглядит Info-таблица? –

+0

@DmitryBychenko Обратитесь к вызову в методе добавления –

ответ

0

Я думаю, что вы не создали имя таблицы Info с идентификатором, FirstName, LastName, Age field. Также проверьте, существует ли путь источника данных.

Создать таблицу Somethings так:

string sql ="CREATE TABLE `Info` (
    `ID` INTEGER PRIMARY KEY AUTOINCREMENT, 
    `FirstName` TEXT, 
    `LastName` TEXT, 
    `Age` INTEGER 
)"; 

Или Вы можете использовать ** DB Browser для SQLite ** Инструменты для создания таблицы.

Смежные вопросы