2014-10-06 4 views
-5
import java.sql.*; 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
class DeleteDemo extends Frame implements 
    ActionListener { 
         Label l1; 
         Button b1; 
         TextField t1; 
         DeleteDemo() 
         { 
         setVisible(true); 
         setSize(400,400); 
         l1=new Label("Enter Id"); 
         b1=new Button("Delete"); 
         t1=new TextField(20); 
         setLayout(new FlowLayout()); 
         add(l1);add(t1); 
         add(b1); 
         b1.addActionListener(this); 
         } 


     public void actionPerformed(ActionEvent e) 
     { 
          if(e.getSource()==b1) 
          {  
           try 
           {   
             System.out.println("Data try to delete"); 
             String id=t1.getText(); 
             l1.setText("hi"); 
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
         Connection con=DriverManager.getConnection("Jdbc:Odbc:xyz","",""); 
       Statement st=con.createStatement(); 
       st.executeUpdate("delete from tblEmp where id ='"+id+"' "); 
       System.out.println("Data has been deleted"); 
      }catch(SQLException eb){} 
     } 
    }  
     public static void main(String args[ ])  { 
      DeleteDemo dtl=new DeleteDemo();  } 
     } 
+1

Для Java 7 вы можете просто опустить заявление Class.forName(), как это не действительно требуется. – Petro

+1

Каков ваш вопрос здесь? Если речь идет о компиляции программы НЕ, то все, что вам нужно сделать, это добавить еще один блок catch для ** ClassNotFoundException ** – parth6

+0

Ошибка компиляции говорит о том, в чем проблема. Какой у Вас вопрос? –

ответ

1

Class.forName(String) бросает ClassNotFoundException, если он не может загрузить класс, чье имя было передано ему (например, если вы отсутствует банка в вашем пути к классу). Это проверяется исключение, и должны быть либо выброшены вверх (например, добавить throws ClassNotFoundException к декларации вашего метода), или пойманы:

try { 
    System.out.println("Data try to delete"); 
    String id=t1.getText(); 
    l1.setText("hi"); 
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    Connection con=DriverManager.getConnection("Jdbc:Odbc:xyz","",""); 
    Statement st=con.createStatement(); 
    st.executeUpdate("delete from tblEmp where id ='"+id+"' "); 
    System.out.println("Data has been deleted"); 
} catch(ClassNotFoundException cne) { 
    System.err.println("Could not load JDBC driver"); 
} catch(SQLException eb) { 
    System.err.println("Could not delete data"); 
} 
+0

Я хочу строку из databse tble, но она не работает. После запуска окна консоли программы показывает, что messege «не удалось загрузить драйвер JDBC " –

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