2015-01-15 2 views
0

Я пытаюсь ввести данные в базу данных sqlite. Я использую следующий код, но что-то я делаю неправильно, и он не работает.Ошибка ввода данных из текстового поля в таблицу sqlite

string dbConnection = "Data Source=" + dbString + ";Version=3;"; 
     using (SQLiteConnection myConnection = new SQLiteConnection(dbConnection)) 
     { 
      SQLiteCommand sqlCommand = new SQLiteCommand("INSERT INTO Products (First_Name,Last_Name,Company_Name,Address1,Address2,City,State,Zip,Phone_Number1,Phone_Number2,Email_Address) Values (@First_Name, @Last_Name,@Company_Name, @Address1,@Address2, @City,@State, @Zip, @Phone_Number1, @Phone_Number2, @Email_Address,)", myConnection); 
      sqlCommand.Parameters.AddWithValue("@First_Name", FNAME_TXT.Text); 
      sqlCommand.Parameters.AddWithValue("@Last_Name", LNAME_TXT.Text); 
      sqlCommand.Parameters.AddWithValue("@Company_Name", CNAME_TXT.Text); 
      sqlCommand.Parameters.AddWithValue("@Address1", ADDRESS1_TXT.Text); 
      sqlCommand.Parameters.AddWithValue("@Address2", ADDRESS2_TXT.Text); 
      sqlCommand.Parameters.AddWithValue("@City", CITY_TXT.Text); 
      sqlCommand.Parameters.AddWithValue("@State", STATE_TXT.Text); 
      sqlCommand.Parameters.AddWithValue("@Zip", ZIP_TXT.Text); 
      sqlCommand.Parameters.AddWithValue("@Phone_Number1", PHONE1_TXT.Text); 
      sqlCommand.Parameters.AddWithValue("@Phone_Number2", PHONE2_TXT.Text); 
      sqlCommand.Parameters.AddWithValue("@Email_Address", EMAIL_TXT.Text); 

      myConnection.Open(); 
      return sqlCommand.ExecuteNonQuery(); 

, когда я выполнить код, я получаю:

«Первый шанс исключение типа 'System.Data.SQLite.SQLiteException' произошло в System.Data.SQLite.dll

Дополнительная информация: SQL логическая ошибка или отсутствует база данных

ряд «)»: ошибка синтаксиса»

Это код, который создает базу данных:

 sqlite_conn = new SQLiteConnection(dbLoc); 
       sqlite_conn.Open(); 
       sqlite_cmd = sqlite_conn.CreateCommand(); 
       sqlite_cmd.CommandText = "CREATE TABLE Customer (" 
         + "Customer_ID_PK integer primary key," 
         + "First_Name VARCHAR(32)," 
         + "Last_Name VARCHAR(32) NOT NULL," 
         + "Company_Name VARCHAR(50)," 
         + "Address1 VARCHAR(45) NOT NULL," 
         + "Address2 VARCHAR(45)," 
         + "City VARCHAR(25) NOT NULL," 
         + "State VARCHAR(2) NOT NULL," 
         + "Zip CHAR(5) NOT NULL," 
         + "Phone_Number1 CHAR(10) NOT NULL," 
         + "Phone_Number2 CHAR(10)," 
         + "Email_Address VARCHAR(25))"; 
       sqlite_cmd.ExecuteNonQuery(); 
       sqlite_conn.Close();  

Благодарим за помощь.

ответ

0

Удалите последнюю запятую

... @Email_Address,)" 

Для

@Email_Address)" 
0

Удалить лишнюю запятую в запросе.

Изменить это:

INSERT INTO Products (First_Name,Last_Name,Company_Name,Address1,Address2,City,State,Zip,Phone_Number1,Phone_Number2,Email_Address) Values (@First_Name, @Last_Name,@Company_Name, @Address1,@Address2, @City,@State, @Zip, @Phone_Number1, @Phone_Number2, @Email_Address,) 

к:

INSERT INTO Products (First_Name,Last_Name,Company_Name,Address1,Address2,City,State,Zip,Phone_Number1,Phone_Number2,Email_Address) Values (@First_Name, @Last_Name,@Company_Name, @Address1,@Address2, @City,@State, @Zip, @Phone_Number1, @Phone_Number2, @Email_Address) 
Смежные вопросы