2013-02-20 2 views
0

Исключение в потоке «главный» java.lang.Error: Нерешенные проблемы компиляции: Несоответствие типа: не может конвертировать из java.sql.Statement в com.mysql.jdbc.StatementMysql Исключение базы данных

i am a beginner in java i am trying to use mysql database i have downloaded mysql-connector-java-5.1.23-bin.jar file from mysql.com and i have added this jar file to in my build path of my project but there is an error in the following code Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from java.sql.Statement to com.mysql.jdbc.Statement


package com.example.demo; 

import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 

import com.mysql.jdbc.Connection; 
import com.mysql.jdbc.Statement; 

public class DBConnect 
{ 
private static final String userName = "root"; 
private static final String userpwd = "sverma"; 
private static final String CONN_STR = "jdbc:mysql://localhost:3306/phpweb_db"; 

public static void main(String[] args) throws SQLException 
{ 

    Connection conn = null; 
    Statement st = null; 
    ResultSet rs = null; 

    try 
    { 
     DriverManager.getConnection(CONN_STR, userName, userpwd); 
     st=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 
     rs = st.executeQuery("select * from user"); 
     rs.last(); 
     System.out.println("No of rows: " + rs.getRow()); 

     // System.out.println("Connected Successfully..."); 
    } 
    catch (SQLException e) 
    { 
     System.err.println(e); 

    } 
    finally 
    { 
     if (rs != null) 
     { 
      rs.close(); 
     } 
     if (st != null) 
     { 
      st.close(); 
     } 
     if (conn != null) 
     { 
      conn.close(); 
     } 
    } 
} 

}


+0

Добро пожаловать ТАК! вы процитировали свой вопрос. – 75inchpianist

+0

используя eclipse? Вы можете удалить свои операторы импорта и нажать 'ctrl + shift + O', чтобы автоматически импортировать необходимые классы. – jlordo

ответ

4

неправильные классы

import com.mysql.jdbc.Connection; 
import com.mysql.jdbc.Statement; 

должен быть

import java.sql.Connection; 
import java.sql.Statement; 

В самом деле, Java разъединяет все от конкретного двигателя базы данных. Никогда не нужно импортировать классы MySQL (или ProgressSQL или ...).

Чтобы иметь классы, доступные во время выполнения, первым делом после try, перед тем, как соединение будет:

Class.forName("com.mysql.jdbc.Driver"); 

Этот метод позволит читать все строки из файла конфигурации, и записи базы данных независимый код.


Missing: Conn = ...

conn = DriverManager.getConnection(CONN_STR, userName, userpwd); 
+0

Спасибо, сэр за ваш ответ ... Я скорректировал приведенный выше код, как вы указали выше, но я получаю ошибку во время выполнения ** Исключение в потоке «main» java.lang.NullPointerException ** – user2092656

+0

Расширенная ответ , –

+0

спасибо, сэр, я получил его ... – user2092656

0
package com.example.demo; 

import java.sql.*; 


public class DBConnect 
{ 
private static final String userName = "root"; 
private static final String userpwd = "sverma"; 
private static final String CONN_STR = "jdbc:mysql://localhost:3306/phpweb_db"; 

public static void main(String[] args) throws SQLException 
{ 

    Connection conn; 
    Statement st; 
    ResultSet rs; 

    try 
    { 
     Class.forName("com.mysql.jdbc.Driver"); 
     DriverManager.getConnection(CONN_STR, userName, userpwd); 
     st=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 
     rs = st.executeQuery("select * from user"); 
     rs.last(); 
     System.out.println("No of rows: " + rs.getRow()); 

     // System.out.println("Connected Successfully..."); 
    } 
    catch (SQLException e) 
    { 
     System.err.println(e); 

    } 
    finally 
    { 
     if (rs != null) 
     { 
      rs.close(); 
     } 
     if (st != null) 
     { 
      st.close(); 
     } 
     if (conn != null) 
     { 
      conn.close(); 
     } 
    } 
} 
+0

Код отвечает только arent, потому что они не предоставляют много информации для будущих читателей, пожалуйста, предоставьте некоторое объяснение тому, что вы написали – WhatsThePoint

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