2013-10-27 3 views
0

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

В то время как я пытаюсь Вставьте данные в моей базе данных Bill_Master он возвращается ошибка

java.sql.SQLException: [Microsoft] [Драйвер ODBC для Oracle] [Oracle] ORA-01858: а не- числовой символ был найден где числовая ожидалось

 bqty=Integer.parseInt(iqty.getText()); 
     bamount=Float.parseFloat(famnt.getText()); 
     bdsc=Integer.parseInt(dsc.getText()); 
     bnet=Float.parseFloat(netamnt.getText()); 
     billid=Integer.parseInt(billn.getText()); 
     code=Integer.parseInt(icode.getText()); 
     bqty=Integer.parseInt(iqty.getText()); 
     rate=getRate(code); 
     iamount=rate*bqty; 
     amt.setText(Float.toString(iamount)); 
     total=total+iamount; 


     try 
     { 
      billdetailid++; 
    stmt.executeUpdate("insert into Bill_Master values('"+billid+"','"+date+"','"+cname+"','"+total+"','"+bdsc+"','"+total+"','"+uid+"')");//Error Causing Line. 

Значения (1, · 27 окт-2013' , 'п/а', 900.00,0.0,900.00, 'Рабочий стол')

Структура таблицы

  1. bill_id (Первичный ключ INT): - Магазины Билл Количество

  2. Bill_Date (Дата): Магазины Дата Билла

  3. CUSTOMER_NAME (VARCHAR (50)): Имя клиента

  4. Total_amt (NUMBER (6)): Общий Билл Сумма

  5. Cash_Disc (Кол-во (2)): Диск р а ф

  6. grand_total (Номер (6)): Гранд Всего

  7. UID (VARCHAR (10)) Магазины Кто Сформированные счет (РАБОТНИК ID) Тип соединения:. ODBC

Пожалуйста, помогите решить эту проблему.

ответ

0

Я нашел точную проблему. Причина в том, что я пытаюсь вставить ярлык вместо текста в ярлыке. правильное утверждение

stmt.executeUpdate("insert into Bill_Master values('"+billid+"','"+date.getText()+"','"+cname.getText()+"','"+total+"','"+bdsc+"','"+total+"','"+uid+"')");

0

Попробуйте это:

stmt.executeUpdate("insert into Bill_Master values('"+billid+"',to_date('"+date+"', 'dd-MON-yyyy'),'"+cname+"','"+total+"','"+bdsc+"','"+total+"','"+uid+"')"); 
+0

ее не работает. такая же ошибка. – Aswin

0

Во-первых, это один ужасный способ написания запросов SQL в Java !!!

Я предполагаю, что вы только что начали учиться. Пожалуйста, проверьте PreparedStatements

Ошибки, связанные с типом данных, будут легче отлаживать.

Также это не так, как вы пишете непрерывные строки. Проверьте StringBuilder и String Buffer

1

Вы помещаете одинарные кавычки вокруг каждого из ваших значений, включая bill_Id, который определяется как int. база данных SQL читает это как строку и жалуется. Также (как уже указывалось) PreparedStatements делают это намного проще и безопаснее.

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