2017-02-26 120 views
0

所以我試圖插入來自文本框和組合框控件文本SQLite數據庫,但我得到一個語法錯誤C#SQLite的命令行語法錯誤

private void btnConfirm_Click(object sender, EventArgs e) 
    { 
     int indexID = 0; 
     string username = txtUsername.Text; 
     string password = txtPassword.Text; 
     string firstName = txtFirstName.Text; 
     string lastName = txtLastName.Text; 
     int age = cmbAge.SelectedIndex + 1; 
     string country = cmbCountry.Text; 
     string city = txtCity.Text; 
     string address = txtAddress.Text; 
     string breeds = txtBreeds.Text; 
     string notes = "None"; 

     SQLiteConnection registerConnection = new SQLiteConnection("Data Source=|DataDirectory|/Resources/database.sqlite;Version=3;"); 
     registerConnection.Open(); 
     SQLiteCommand registerCommand = new SQLiteCommand("INSERT INTO users (indexID,username,password,firstname,lastname,age,country,city,address,tigerbreeds,notes)", registerConnection); 
     registerCommand.Parameters.AddWithValue("indexID", indexID); //0 for now, but we're going to change this later. 
     registerCommand.Parameters.AddWithValue("username", username); 
     registerCommand.Parameters.AddWithValue("password", password); 
     registerCommand.Parameters.AddWithValue("firstname", firstName); 
     registerCommand.Parameters.AddWithValue("lastname", lastName); 
     registerCommand.Parameters.AddWithValue("age", age); 
     registerCommand.Parameters.AddWithValue("country", country); 
     registerCommand.Parameters.AddWithValue("city", city); 
     registerCommand.Parameters.AddWithValue("address", address); 
     registerCommand.Parameters.AddWithValue("tigerbreeds", breeds); 
     registerCommand.Parameters.AddWithValue("tigerbreeds", notes); 
     registerCommand.ExecuteNonQuery(); 
    } 

沒有任何人有任何想法如何解決這一問題?

型「System.Data.SQLite.SQLiteException」未處理的異常發生在System.Data.SQLite.dll 其他信息:SQL邏輯錯誤或丟失的數據庫 近「)」:語法錯誤

回答

0

嘗試更新到:

SQLiteCommand registerCommand = new SQLiteCommand("INSERT INTO users (indexID,username,password,firstname,lastname,age,country,city,address,tigerbreeds,notes) VALUES (@indexID, @username, @password, @firstname, @lastname, @age, @country, @city, @address, @tigerbreeds, @notes)", registerConnection); 
registerCommand.Parameters.AddWithValue("@indexID", indexID); //0 for now, but we're going to change this later. 
registerCommand.Parameters.AddWithValue("@username", username); 
registerCommand.Parameters.AddWithValue("@password", password); 
registerCommand.Parameters.AddWithValue("@firstname", firstName); 
registerCommand.Parameters.AddWithValue("@lastname", lastName); 
registerCommand.Parameters.AddWithValue("@age", age); 
registerCommand.Parameters.AddWithValue("@country", country); 
registerCommand.Parameters.AddWithValue("@city", city); 
registerCommand.Parameters.AddWithValue("@address", address); 
registerCommand.Parameters.AddWithValue("@tigerbreeds", breeds); 
registerCommand.Parameters.AddWithValue("@notes", notes); 
registerCommand.ExecuteNonQuery(); 
0

您必須構造一個有效的SQL查詢。插入(columnName)值(@參數名稱)