2016-08-09 100 views
0

Ich entwickle eine C# -Anwendung, die einige Daten aus einem Textfeld übernimmt und nach dem Klicken auf die Schaltfläche Speichern Daten in einer SQLite-DB speichert. Aber ich bekomme einen Fehler, wenn ich auf den Speichern-Knopf klicke. Ich habe versucht, online eine Lösung dafür zu suchen. Aber nichts hat geklappt. Ich erhalte den Fehler in dieser Zeile:Eine nicht behandelte Ausnahme des Typs 'System.Data.SQLite.SQLiteException'

sql_cmd.ExecuteNonQuery(); 

Dies ist der Fehler, den ich

Eine nicht behandelte Ausnahme des Typs ‚System.Data.SQLite.SQLiteException‘ aufgetreten bin immer in System.Data.SQLite .dll
Zusätzliche Informationen: SQL Logikfehler oder fehlende Datenbank
keine solche Tabelle: Info

Dies ist mein Code

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

Was enthält 'txtQuery'? –

+0

@john, wie sieht die Info-Tabelle aus? –

+0

@DmitryBychenko Sehen Sie den Aufruf in der add-Methode –

Antwort

0

Ich denke, Sie haben Tabellenname Info mit ID, Vorname, Nachname, Alter Feld erstellt. Überprüfen Sie außerdem, ob der Datenquellenpfad existiert oder nicht.

erstellen Tabelle Somethings wie folgt aus:

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

Oder Sie können verwenden ** DB Browser für SQLite ** Werkzeuge Tabelle zu erstellen.