Alguém pode me ajudar a resolver um problema?
Estou testando um sistema no Banco Access (não se preocupem vou usar MySQL em produção), é só para finalizar as interfaces.
Eis o problema:
Nunca tinha usado PreparedStatement. Usei prá Select e tá funcionando, mas no Insert não tô conseguindo fazer nem a pau. Sempre dá erro de SQL isto é, não grava nada no BD. Já tentei várias hipóteses, mas nada. A ordem dos campos na Tabela Física é essa que tá no código abaixo. Alguma sugestão?
segue o código:
import <a href="http://java.io">java.io</a>.<em>;
import java.sql.</em>;
import javax.servlet.<em>;
import javax.servlet.http.</em>;
import javax.xml.crypto.Data;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class FormularioInclusaoAnuncios extends HttpServlet
{
boolean status;
Statement MeuState;
Connection MinhaConexao;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
//String identificador = request.getParameter(“identificador”);
String anunciante = request.getParameter(“anunciante”).trim().toLowerCase();
String facebook = request.getParameter(“facebook”).trim().toLowerCase();
String google = request.getParameter(“google”).trim().toLowerCase();
String twitter = request.getParameter(“twitter”).trim().toLowerCase();
String Estado = request.getParameter(“estado”).trim().toLowerCase();
String Cidade = request.getParameter(“cidade”).trim().toLowerCase();
String Bairro = request.getParameter(“bairro”).trim().toLowerCase();
String Categoria = request.getParameter(“categoria”).trim().toLowerCase();
String SubCategoria = request.getParameter(“subcategoria”).trim().toLowerCase();
String titulo = request.getParameter(“titulo”).trim().toLowerCase();
String preco = request.getParameter(“preco”);
String descricaogeral = request.getParameter(“descricaogeral”);
String descricaodetalhada = request.getParameter(“descricaodetalhada”);
String tipoanuncio = request.getParameter(“tipoanuncio”);
String tipoanunciante = request.getParameter(“tipoanunciante”);
String urlperfil = request.getParameter(“perfilurl”).trim().toLowerCase();
String urlvideo = request.getParameter(“videourl”).trim().toLowerCase();
String urlanuncio = request.getParameter(“anunciourl”).trim().toLowerCase();
String qtdefotos = request.getParameter(“qtdefotos”);
String endereco = request.getParameter(“endereco”).trim().toLowerCase();
String email = request.getParameter(“email”).trim().toLowerCase();
String fonefixo = request.getParameter(“fonefixo”);
String celular01 = request.getParameter(“celular01”);
String celular02 = request.getParameter(“celular02”);
String republicar = request.getParameter(“republicar”);
String resposta = request.getParameter(“feedback”);
response.setContentType(“text/html;”);
response.setCharacterEncoding(“iso-8859-1”);
String url = “jdbc:odbc:MeuBanco”;
try
{
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
MinhaConexao = DriverManager.getConnection(url);
}
catch (ClassNotFoundException ex)
{
…
}
catch (SQLException ex)
{
…
}
try
{
MeuState = MinhaConexao.createStatement();
String SQL = "INSERT INTO anuncios (google, twitter, facebook, anunciante, Estado, Cidade, Bairro, Categoria, SubCategoria, titulo, preco, descricaogeral, descricaodetalhada, tipoanuncio, "+
“tipoanunciante, urlvideo, urlanuncio, urlperfil, qtdefotos, endereco, email, fonefixo, celular01, celular02, republicar, resposta) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)”;
PreparedStatement MeuState = MinhaConexao.prepareStatement(SQL);
MeuState.setString(1, google);
MeuState.setString(2, twitter);
MeuState.setString(3, facebook);
MeuState.setString(4, anunciante);
MeuState.setString(5, Estado);
MeuState.setString(6, Cidade);
MeuState.setString(7, Bairro);
MeuState.setString(8, Categoria);
MeuState.setString(9, SubCategoria);
MeuState.setString(10, titulo);
MeuState.setString(11, preco);
MeuState.setString(12, descricaogeral);
MeuState.setString(13, descricaodetalhada);
MeuState.setString(14, tipoanuncio);
MeuState.setString(15, tipoanunciante);
MeuState.setString(16, urlvideo);
MeuState.setString(17, urlanuncio);
MeuState.setString(18, urlperfil);
MeuState.setString(19, qtdefotos);
MeuState.setString(20, endereco);
MeuState.setString(21, email);
MeuState.setString(22, fonefixo);
MeuState.setString(23, celular01);
MeuState.setString(24, celular02);
MeuState.setString(25, republicar);
MeuState.setString(26, resposta);
MeuState.executeUpdate();
PrintStream out = new PrintStream(response.getOutputStream());
out.println("mostra varias coisas após gravação");
...
status = true;
MinhaConexao.commit();
MinhaConexao.close();
MeuState.close();
}
catch (SQLException ex)
{
status = false;
PrintStream out = new PrintStream(response.getOutputStream());
…
out.println(“
- erro - nao gravou
…
}
try
{
if (status)
{
PrintStream out = new PrintStream(response.getOutputStream());
…
out.println(“
- cadastrado com sucesso
…
}
else
{
PrintStream out = new PrintStream(response.getOutputStream());
…
out.println("
- não cadastrado
…
}
}
catch (IOException e)
{
PrintStream out = new PrintStream(response.getOutputStream());
…
out.println(“
- Problemas com retorno dos dados
…
}
}
}