Sobre a classe Statement

7 respostas
nissivm

Oi gente eu tenho essas duas classes:

package exemplos;

import java.sql.*;

public class Conexao {
	
	public static String status = "";
	
	public static Connection getConnection(){
		
		Connection conexao = null;
		
		try {
			
			String driver = "com.mysql.jdbc.Driver";  
			  
			String url = "jdbc:mysql://localhost/loja";  
			  
			String usuario = "root";  
			  
			String senha = "";  
			
			Class.forName(driver);  
	        conexao = DriverManager.getConnection(url, usuario, senha);
	        
	        status = "Conexão estabelecida!";
			
		}catch (SQLException e){
			status = e.getMessage();
		}catch (ClassNotFoundException e){
			status = e.getMessage();
		}catch (Exception e){
			status = e.getMessage();
		}
		
		return conexao;
		
	}

}
package exemplos;

import java.sql.*;
import java.beans.*;

public class Iniciar {

	public static void main(String[] args) {
		
		Connection con = Conexao.getConnection();
		System.out.println (Conexao.status);
		
		Statement st = con.createStatement();
		String q = "";
		q += "INSERT INTO Usuarios(Nome, Login, Senha)";
		q += "VALUES('Nissi Miranda', 'nissivm', '123456')";
		st.executeUpdate (q);
		
		/*try{
		String driver = "com.mysql.jdbc.Driver";  
		  
		String url = "jdbc:mysql://localhost/loja";  
		  
		String usuario = "root";  
		  
		String senha = "";  
		
		Class.forName(driver);  
        Connection conexao = DriverManager.getConnection(url, usuario, senha);
        
        System.out.println ("Conexão estabelecida");
		
		}catch (Exception e){
			System.out.println ("Conexão falhou: " + e.getMessage());
		}*/
	}

}

Está dando o seguinte erro na classe Iniciar, linha 13: “[color=red]The type Statement is ambiguous[/color]”

Alguém saberia dizer o que está acontecendo?? :shock:

7 Respostas

drsmachado

Posta o stackTrace completo

pmlm

Erro de compilação não tem stacktrace… :slight_smile:

Estás a fazer import de todas as classes das packages java.sql e java.beans:

import java.sql.*; import java.beans.*;
Acontece que qualquer uma dessas duas packages tem uma classe Statement e o compilador não sabe qual a que pretendes.
Para resolver o problema, ou retiras os import * e importas classe a classe ou então na linha 13 pões java.sql.Statement em vez de simplesmente Statement.

nissivm

Deu certo!! :smiley: Muito obrigada pmlm!

PS. Vc é português? Legal :). Assisto todo dia o Peso Pesado pela SIC Internacional…

pmlm

nissivm:

PS. Vc é português? Legal :). Assisto todo dia o Peso Pesado pela SIC Internacional…

Bah… Biggest Loser americano é bem melhor :slight_smile:

nissivm

eheheheh

Kanin_Dragon

Jovem,

Edite o tópico, Statemant e uma interface e não uma classe.

Abs,

ViniGodoy

Movido para o fórum de Persistência. Por favor, leia atentamente a descrição dos fóruns antes de postar.

Criado 30 de maio de 2011
Ultima resposta 31 de mai. de 2011
Respostas 7
Participantes 5