0

いずれかのフィールドのデータを更新すると、次のようなエラーが発生します。

ドライバーがロードされた
ステートメントが作成されます

java.sql.SQLException: sun.jdbc.odbc.JdbcOdbc.createSQLException
(JdbcOdbc.java:6986)
での一般エラー
.SQLExecDirect(JdbcOdbc.java:3110)
sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338) で sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288) で sanskarwani.updateREGISTRATION1(sanskarwani.java:2792) で sanskarwani.access$700 (sanskarwani.java:29) で sanskarwani$8.actionPerformed(sanskarwani.java:1255) で javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) で javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) で) javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) で javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) で javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) で java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272) で java.awt.Component.processMouseEvent(Component.java:6038) で javax.swing.JComponent.processMouseEvent(JComponent.java:3260) で java. awt.Component.processEvent(Component.java:5803) で java.awt.Container.processEvent(Container.java:2058) で java.awt.Component.dispatchEventImpl(Component.java:4410) で java.awt.Container.dispatchEventImpl で(Container.java:2116) java.awt.Component.dispatchEvent(Component.java:4240) で java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322) で java.awt.LightweightDispatcher.processMouseEvent(Container.java: 3986) java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916) で java.awt.Container.dispatchEventImpl(Container.java:2102) で java.awt.Window.dispatchEventImpl(Window.java:2429) で java.awt.Component.dispatchEvent(Component.java:4240) でjava.awt.EventQueue.dispatchEvent(EventQueue.java:599) で java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) で java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) で java.awt.EventDispatchThread .pumpEventsForHierarchy(EventDispatchThread.java:173) で java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) で java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) で java.awt.EventDispatchThread.run(EventDispatchThread.ジャワ:121)3916) で java.awt.Container.dispatchEventImpl(Container.java:2102) で java.awt.Window.dispatchEventImpl(Window.java:2429) で java.awt.Component.dispatchEvent(Component.java:4240) で java.awt.Component.dispatchEvent(Component.java:4240) でawt.EventQueue.dispatchEvent(EventQueue.java:599) で java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) で java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) で java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) で java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) で java.awt.EventDispatchThread.run(EventDispatchThread.java: 121)3916) で java.awt.Container.dispatchEventImpl(Container.java:2102) で java.awt.Window.dispatchEventImpl(Window.java:2429) で java.awt.Component.dispatchEvent(Component.java:4240) で java.awt.Component.dispatchEvent(Component.java:4240) でawt.EventQueue.dispatchEvent(EventQueue.java:599) で java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) で java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) で java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) で java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) で java.awt.EventDispatchThread.run(EventDispatchThread.java: 121)Container.dispatchEventImpl(Container.java:2102) で java.awt.Window.dispatchEventImpl(Window.java:2429) で java.awt.Component.dispatchEvent(Component.java:4240) で java.awt.EventQueue.dispatchEvent(EventQueue) .java:599)、java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)、java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)、java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)で java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)で java.awt.EventDispatchThread.run(EventDispatchThread.java:121)でContainer.dispatchEventImpl(Container.java:2102) で java.awt.Window.dispatchEventImpl(Window.java:2429) で java.awt.Component.dispatchEvent(Component.java:4240) で java.awt.EventQueue.dispatchEvent(EventQueue) .java:599)、java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)、java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)、java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)で java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)で java.awt.EventDispatchThread.run(EventDispatchThread.java:121)で2102) で java.awt.Window.dispatchEventImpl(Window.java:2429) で java.awt.Component.dispatchEvent(Component.java:4240) で java.awt.EventQueue.dispatchEvent(EventQueue.java:599) で Java. awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) で java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) で java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) で java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) で java.awt.EventDispatchThread.run(EventDispatchThread.java:121) で2102) で java.awt.Window.dispatchEventImpl(Window.java:2429) で java.awt.Component.dispatchEvent(Component.java:4240) で java.awt.EventQueue.dispatchEvent(EventQueue.java:599) で Java. awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) で java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) で java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) で java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) で java.awt.EventDispatchThread.run(EventDispatchThread.java:121) でComponent.dispatchEvent(Component.java:4240) で java.awt.EventQueue.dispatchEvent(EventQueue.java:599) で java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) で java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread) .java:183) で java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) で java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) で java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) でjava.awt.EventDispatchThread.run(EventDispatchThread.java:121) でComponent.dispatchEvent(Component.java:4240) で java.awt.EventQueue.dispatchEvent(EventQueue.java:599) で java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) で java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread) .java:183) で java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) で java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) で java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) でjava.awt.EventDispatchThread.run(EventDispatchThread.java:121) でjava.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) での pumpOneEventForFilters(EventDispatchThread.java:273) :168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) で java.awt.EventDispatchThread.run(EventDispatchThread.java:121) でjava.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) での pumpOneEventForFilters(EventDispatchThread.java:273) :168) java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) で java.awt.EventDispatchThread.run(EventDispatchThread.java:121) でjava.awt.EventDispatchThread.run(EventDispatchThread.java:121) での pumpEvents(EventDispatchThread.java:160)java.awt.EventDispatchThread.run(EventDispatchThread.java:121) での pumpEvents(EventDispatchThread.java:160)

私のコードは次のとおりです。

String nmreg = cbnm.getSelectedItem().toString();

if(nmreg.equals(""))   //{
    JOptionPane.showMessageDialog(null," ENTER THE NAME ");

try
{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    System.out.println("\n Driver loaded");

    Connection con = DriverManager.getConnection("jdbc:odbc:wanisamajDB");
    Statement stmt = con.createStatement();

    System.out.println("statement is created");

    String qry = " UPDATE Registration1 set RegistrationNo = '"+cbregn.getSelectedItem()+"',SeniorPerson = '"+cbnm.getSelectedItem()+"', NativePlace = '"+tfplace.getText()+"',Kul = '"+tfkul.getText()+"', Gotra = '"+tfgotra.getText()+"' ,KulSwami = '"+tfswami.getText()+"', ResidensialAddress = '"+taraddr.getText()+"' , PinCode = '"+tfpcd.getText()+"', STDcode = '"+tfstdcode.getText()+"',TelephoneNo = '"+tftele.getText()+"', MobileNo = '"+tfmno.getText()+"', Email = '"+tfemail.getText()+"',Website ='"+tfweb.getText()+"',Education ='"+tfedu.getText()+"',Branch ='"+tfbrch.getText()+"',BloodGroup ='"+cbbldgrp.getSelectedItem()+"' where SeniorPerson='" +cbnm.getSelectedItem().toString()+"'" ;
             // String qry= " UPDATE Registration1 set SeniorPerson = '"+cbnm.getSelectedItem().toString()+"',NativePlace = '"+tfplace.getText()+"', Kul = '"+tfkul.getText()+"',Gotra = '"+tfgotra.getText()+"' , KulSwami = '"+tfswami.getText()+"', ResidensialAddress = '"+taraddr.getText()+"' , PinCode = '"+Integer.parseInt(tfpcd.getText())+"', STDcode = '"+Integer.parseInt(tfstdcode.getText())+"',TelephoneNo = '"+Integer.parseInt(tftele.getText())+"',MobileNo = '"+Integer.parseInt(tfmno.getText())+"',Email = '"+tfemail.getText()+"',Website ='"+tfweb.getText()+"',Education ='"+tfedu.getText()+"',Branch ='"+tfbrch.getText()+"',BloodGroup ='"+cbbldgrp.getSelectedItem().toString()+"' where RegistrationNo='" +Integer.parseInt(cbregn.getSelectedItem().toString())+"'" ;
              stmt.executeUpdate(qry);
              JOptionPane.showMessageDialog(null,"RECORD IS UPDATED SUCCESSFULLY ");
              System.out.println("QUERY");       

             // cbregn.setEditable(false);
              cbnm.setEditable(false);
              tfplace.setEditable(false);
              tfkul.setEditable(false);
              tfgotra.setEditable(false);
              tfswami.setEditable(false);
              taraddr.setEditable(false);
              tfpcd.setEditable(false);
              tfstdcode.setEditable(false);
              tftele.setEditable(false);
              tfmno.setEditable(false);
              tfemail.setEditable(false);
              tfweb.setEditable(false);
              tfedu.setEditable(false);
              tfbrch.setEditable(false);
              cbbldgrp.setEditable(false);
              con.close();
              stmt.close();
            }
//            catch(SQLException eM)
//            {
//            JOptionPane.showMessageDialog(null,"RECORD IS NOT FOUND ");
//            }
            catch(Exception et)
            {
                 et.printStackTrace();
              //  System.out.println("error:"+et.getMessage());
            }

お願い助けて

4

2 に答える 2

1

これはタイプミスですか: "Residensial"?

... ResidensialAddress = '"+taraddr.getText()+"' ...
于 2011-04-08T05:59:12.220 に答える
1

メソッド PrepardStatment を使用して sql-injection tru を回避するには、より簡単に使用でき、最後に同じ結果が得られます。

于 2011-04-08T07:39:09.957 に答える