>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Gravação de uma data numa tabela da base de dados MYSQL


Estou a criar uma aplicação que uma base de dados contendo uma tabela de bancos e outra de movimentos bancários.

A tabela de movimentos bancários contem os seguintes atributos

Banco

Data de movimento

Descrição

Valor

O programa que cria os movimentos é o seguinte, mas presiste um erro de sintaxe na instrução  "pstm.setDate(2, date);"   .   O que está a falhar?


import java.io.IOException;

import java.io.PrintWriter;

import java.sql.Connection;

import java.util.Date;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;


import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


@WebServlet("/CriarMovimentosBancos")

public class CriarMovimentosBancos extends HttpServlet {

private static final long serialVersionUID = 1L;

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

try {

        int banco=Integer.parseInt(request.getParameter("id"));

PrintWriter out=response.getWriter();

out.println ("<html>");

out.println ("<head>");

out.println("<title>Criar Movimentos Banco</title>");

out.println("</head>");

out.println("<body>");

out.println("<form method='POST'>");

out.println("Banco:<br><input type='int' name='txtBanco' readonly='readonly' value='"+banco+"'>");

out.println("<br>");

out.println("Data:<br><input  type='date' name='txtData'>");

out.println("<br>");

out.println("Descrição:<br><input type='text' name='txtDescricao' ");

out.println("<br>");

out.println("<br>");

out.println("Valor:<br><input type='number' placeholder='0.00' min='0' name='txtvalor'");

out.println("<br>");

out.println("<br>");

out.println("<input type='submit' value='Validar'>");

out.println("</form>");

out.println("</body>");

out.println("</html>");

} catch (IOException e) {

}

  }

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

PrintWriter out = response.getWriter ();

int banco  = Integer.parseInt(request.getParameter("txtBanco"));

try {

DateFormat formatter;

formatter = new SimpleDateFormat("dd-MM-yyyy");

Date data = formatter.parse(request.getParameter("txtData"));

} catch (ParseException e1) {

e1.printStackTrace();

}

String descricao = request.getParameter("txtDescricao");

Double valor = Double.valueOf(request.getParameter("txtvalor"));

try {

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

String SQL="Insert into mov__banco(banco,  data,  descricao, valor) Values(?,?,?,?)";

Connection conn =  DriverManager.getConnection("jdbc:mysql://localhost/Contabilidade_Familiar", "root", "1234");

PreparedStatement pstm = conn.prepareStatement(SQL);

pstm.setInt(1,banco);

pstm.setDate(2, date);

pstm.setString(3,descricao);

pstm.setDouble(4,valor);

pstm.execute();

pstm.close();

conn.close();

response.sendRedirect("http://localhost:8080/Contabilidade/MovimentosBanco?id="+banco);

} catch (Exception e ) {

out.println("Erro - "+e.getMessage());

}

}


}