2014-10-09 3 views
-6
itemID STRING 
purchesPrice DOUBLE 
quantity DOUBLE 
vendor STRING 
unitM STRING 

jcombo1=CB_vendor.getSelectedItem().toString(); 
jcombo2=CB_unit.getSelectedItem().toString();  

conn=ShopDb.database(); 

Sql_insert="insert into table itemmanag(itemID,purchesPrice,sellPrice,quantity,vendor,unitM) 
values 
("+txt_itemID.getText()+"','"+Item_Pprice.getText()+"','"+txt_itemSprice.getText() 
    +"','"+txt_qunti.getText()+"','" +jcombo1+"','"+jcombo2+ " ')"; 

ОШИБКА:Java GUI ошибка синтаксиса в SQL Постулаты

you have an error in your sql syntax ; check the manual that corresponds to your MYSQL SERVER version for the right syntanx to use near"table itemmanage(itemID,purchesPrice,quantity,vendor, unitM)values(DA atline 1

+0

И ошибка ...? –

+1

В первом атрибуте отсутствует одиночная кавычка: 'values ​​(" + '. Но попробуйте использовать подготовленный оператор. – Jens

+0

im получение ошибки при попытке сохранить данные –

ответ

0

Боже мой, спасибо @Orel Eraki, конечно же, рядом с несимметричными апострофы вы должны следовать правильной SQL Insert Syntax и hava представляет собой форму «INSERT INTO ...», попробуйте это так (см. мои изменения после «значений» («как один из« Орел Эраки »(нет« ключевого слова «таблицы» после):

Sql_insert="insert into itemmanag(itemID,purchesPrice,sellPrice,quantity,vendor,unitM)values('"+txt_itemID.getText()+"','"+Item_Pprice.getText()+"','"+txt_itemSprice.getText()+"','"+txt_qunti.getText()+"','" +jcombo1+"','"+jcombo2+ "')"; 
+0

та же проблема я исправил каждую вещь, вы, ребята, рассказали еще ту же проблему –

+0

Смотрите мое обновление, Орел Эраки в комментариях к вышеприведенному ответу при условии второй коррекции. – JBA

+0

Когда дело доходит до таких исключений, я рекомендую вам напечатать строку, такую ​​как SQL_insert (System.out.println или что-то еще), чтобы вы могли скопировать и вставить его в Инструмент, такой как SQL Developper, Toad, Squirrel или что-то еще, чтобы лучше видеть такие проблемы. – JBA

2

As Jens сказал, что у вас есть отсутствующая одинарная кавычка в начале значений.

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

values("+txt_itemID.getText() 

С этим:

values('" + txt_itemID.getText() 

также удалить ключевое слово table из запроса.

Кроме, вы должны высоко рассмотреть изменения вы SqL строительство использовать Prepared Statements для того, чтобы иметь более чистый код и более важные избегают SQL-Injections.

Если вы все еще настаиваете на использовании этого запроса вместо Prepared Statements, вам будет лучше, если вы сделаете запрос более читаемым.

Пример:

String valuesFormatted = String.format(
    "('%s', %d, '%s', '%s', '%s', '%s')" 
    , txt_itemID.getText() 
    , Double.parseDouble(Item_Pprice.getText()) 
    , txt_itemSprice.getText() 
    , txt_qunti.getText() 
    , jcombo1 
    , jcombo2)"; 

Sql_insert = " 
    insert into itemmanag 
    (itemID,purchesPrice,sellPrice,quantity,vendor,unitM) 
    values " + valuesFormatted; 

Примечание: код не был проверен.

+0

Я исправить эту недостающую цитату, все еще получаю ту же ошибку –

+0

@Dan, Также удалите таблицу из запроса. –

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