[b]Não consigo criar um Statement[/b]

Tenho um servlet criado. dbConexao. Dentro deste servlet tenho um metodo que me retorna um Statement recebendo uma connection.
Esta dando pau na compilação do fncindex que esta logo abaixo, informando que cannot resolve symbol
na linha Statement st = statement(con);
este codigo esta la embaixo.


dbConexao.java.

package db;

import java.sql.*;
public class dbConexao {
private Connection connection;
private Statement statement1;


public Statement statement(Connection connection)
{
try
{
statement1 = connection.createStatement();
}catch(SQLException ex){
System.out.println(“Não foi possível conectar ao servidor”+ ex);
}
return statement1;
}
}


fncindex.java

try{
con = null;
con = new dbConexao();
if (con != null)
{
Statement st = statement(con);
if (st != null){
String sql = “Select * from pessoa where nmCliente = '” + login + “’ and psw = md5(’” + senha + “’)”;

bem e onde tu ta declarando esse statement no teu “fncindex”???

Fala Joel…

O Java usa o termo “cannot resolve symbol” para avisar que não reconheceu alguma chamada ou classe… E não é a toa que ele fez isso. Vc fez uma baita confusão com seu cógido, e acho que não é nem uma confusão de lógica, mas de nomes mesmo… veja assim:

/*** dbConexao.java ***/

package db;

import java.sql.*;

public class dbConexao 
{
	private Connection connection;
	private Statement  statement1;
	
	....
	
	public Statement statement(Connection connection)
	{
		try
		{
			statement1 = connection.createStatement();
		}
		catch(SQLException ex)
		{
			System.out.println(ex);
		}
		
		return statement1;
	}
} 


/*** fncindex.java ***/

try
{
	DB = null;
	DB = new dbConexao();

	if (DB != null)
	{
		Statement st = DB.statement(???);
		
		if (st != null)
		{
			//Executar Statement
		}
	}
}

Quando no seu código vc instanciou um objeto dbConexao chamando-o de con, isso deve ter lhe confundido a ponto de achar que aquele realmente era um objeto do tipo Connection, mas não, era um objeto do tipo dbConexao, que vc mesmo criou duas linha acima.

No lugar dos “???” deveria entrar o verdadeiro objeto de Connection. Vc pode obtê-lo através da clássica chamada:

Connection con;

Class.forName(“classe do driver JDBC”);
con = DriverManager.getConnection([stringconexsao],[user],[password]);

Para saber as strings corretas do driver e de conexão, é só consultar o manual do banco q vc tá utilizando, ou procurar na net.

Espero que eu tenha entendido o seu problema, abraços![/b]