0

ミニプロジェクトの一環として、在庫管理システムを開発しようとしています。

Bill_Master データベースにデータを挿入しようとすると、エラーが返されます

java.sql.SQLException: [Microsoft][Oracle 用 ODBC ドライバー][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-oct-2013','n/a',900.00,0.0,900.00,'Desk') です。

テーブル構造

  1. Bill_Id (Primary Key INT ): - 請求書番号を格納

  2. Bill_Date (日付): 請求書の日付を格納します

  3. Customer_Name ( VARCHAR(50)): 顧客名

  4. Total_amt (NUMBER(6)) :合計請求額

  5. Cash_Disc (Number(2)):割引

  6. Grand_Total(Number(6)):総計

  7. UID(VARCHAR(10)) 請求書を作成したストア (EMPLOYEE ID) 接続タイプ :ODBC

この問題の解決にご協力ください。

4

4 に答える 4

0

これを試して:

stmt.executeUpdate("insert into Bill_Master values('"+billid+"',to_date('"+date+"', 'dd-MON-yyyy'),'"+cname+"','"+total+"','"+bdsc+"','"+total+"','"+uid+"')");
于 2013-10-27T17:21:26.377 に答える
0

私は正確な問題を見つけました。その理由は、ラベルのテキストの代わりにラベルを挿入しようとしていたからです。正しい発言は

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

于 2013-10-28T16:41:16.517 に答える
0

まず、これは Java で SQL クエリを記述する恐ろしい方法の 1 つです !!!

学習を始めたばかりだと思います。PreparedStatementsをチェックしてください

データ型関連のバグのデバッグが容易になります。

また、連続した文字列の追加を記述する方法でもありません。StringBuilder と String Buffer を確認してください

于 2013-10-27T17:43:12.277 に答える