2017-02-26 105 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)值(@参数名称)