Jump to content
Michel DS

INSERT COM JAVA NO ACCESS USANDO ucanaccess

Recommended Posts

Tenho esse código abaixo para inserir no banco de dados access, mas me retorna um erro que nunca vi antes, nunca usei access e estou sendo obrigado a usar =(, 

se alguém puder me dar uma luz, já perdi várias horas com isso e na internet não encontro solução, o pior é que o select funciona numa boa, agora o insert com o executeUpdate não vai,

isso me parece erro de permissão de usuário mas já fucei bastante no access, e na internet os tópicos com esse erro não encontro solução =(

eis o erro: 

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.0.3 user lacks privilege or object not found: USUARIO

      try {
    ConexaoBD fab = new ConexaoBD();
    fab.abrirConexao();
    String sql ="insert into acordos(data,cpf,valor,produto,usuario(x),aspect,nome,supervisor,hora)"
    + " values('"+txtdata.getText().toString()+"','"+txtcpf.getText().toString()+"','"+valor+"','"+cbproduto.getSelectedItem().toString()
    +"','"+txtusuario.getText().toString()+"','"+lblaspect.getText().toString()+"','"+txtnome.getText().toString()+"','"+hora+"')";
    fab.ps = fab.con.prepareStatement(sql);
    int rows = fab.ps.executeUpdate();
    
    if(rows >= 1){
    JOptionPane.showMessageDialog(null, "Acordo registrado com sucesso!","Mensagem do programa",JOptionPane.INFORMATION_MESSAGE);
    fab.ps.close();
    fab.con.close();
    fab.st.close();
    }else{
        JOptionPane.showMessageDialog(null, "ERRO!","Mensagem do programa",JOptionPane.ERROR_MESSAGE);
    fab.ps.close();
    fab.con.close();
    fab.st.close();
    }
                }
      catch (ClassNotFoundException ex) {
            Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
        }
      catch (SQLException ex) {
            Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
        }
    public Connection con = null ;
    public PreparedStatement ps = null;
    public ResultSet rs = null;
    public Statement st = null;
    
public  void abrirConexao() throws ClassNotFoundException{
    
    Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
    String caminho = buscarCaminho();
    try{
        //Arquivo de caminho do banco
        String filename = caminho;
        File arquivo = new File(filename);
        
        //verifica se o caminho e arquivo existe.
        if(!arquivo.exists()){
            JOptionPane.showMessageDialog(null, "Caminho do BD não encontrado! \n "
            + "veirifique se o caminho, nome e extensão estão corretos ou se o arquivo existe!\n Consulte o administrador");
            return;
            
        }else{
            JOptionPane.showMessageDialog(null, "Banco de dados encontrado com sucesso!");
        }
        
        String database = "jdbc:ucanaccess://" + filename.trim();
        
        
        //realiza conexao com banco de dados
        con = DriverManager.getConnection(database,"Administrador","1234");
        System.out.println("Conexão obtida com sucesso");
        
        
                }catch(Exception e) {
			JOptionPane.showMessageDialog(null,"Erro ao conectar: -> "+ e.getMessage().toString()+"");
		}  

classes de conexão e inserção

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Adriano Costa
      Bom dia amigos, sou novo na programação e estou aprendendo a gerar QRCode e BarCode, eu assistindo um vídeo gringo fiz um programa idêntico, mas o meu não esta funcionando, não apresenta erro no código, mas não gera os códigos. Estou usando as bibliotecas externas core 3.4.1 e a javase 3.4.1.
       
      package demo;
      //import java.awt.BorderLayout;
      import java.awt.EventQueue;
      import javax.swing.JFrame;
      import javax.swing.JPanel;
      import javax.swing.border.EmptyBorder;
      import javax.swing.JTextField;
      import javax.swing.ImageIcon;
      import javax.swing.JButton;
      import javax.swing.JLabel;
      import javax.swing.JOptionPane;
      import javax.swing.border.LineBorder;
      import helpers.ZXingHelper;
      import java.awt.Color;
      import java.awt.event.ActionListener;
      import java.awt.event.ActionEvent;
      public class JFrameMain extends JFrame {
          
          /**
           * 
           */
          private static final long serialVersionUID = 1L;
          private JPanel contentPane;
          private JTextField textFieldProductId;
          //private JButton ButtonQRCode;
          //private JButton ButtonBarCode;
          private JLabel labelImage;
          /**
           * Launch the application.
           */
          public static void main(String[] args) {
              EventQueue.invokeLater(new Runnable() {
                  public void run() {
                      try {
                          JFrameMain frame = new JFrameMain();
                          frame.setVisible(true);
                      } catch (Exception e) {
                          e.printStackTrace();
                      }
                  }
              });
          }
          /**
           * Create the frame.
           */
          public JFrameMain() {
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              setBounds(100, 100, 450, 300);
              contentPane = new JPanel();
              contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
              setContentPane(contentPane);
              contentPane.setLayout(null);
              
              textFieldProductId = new JTextField();
              textFieldProductId.setBounds(35, 23, 362, 20);
              contentPane.add(textFieldProductId);
              textFieldProductId.setColumns(10);
              
              JButton ButtonQRCode = new JButton("QR Code");
              
              ButtonQRCode.addActionListener(new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                      
                      do_ButtonQRCode_actionPerformed(e);
                      
                      }
                  
              });
              ButtonQRCode.setBounds(76, 65, 89, 23);
              contentPane.add(ButtonQRCode);
              
              JButton ButtonBarCode = new JButton("Bar Code");
              ButtonBarCode.addActionListener(new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                      do_ButtonBarCode_actionPerformed(e);
                                  
                  }
              });
              ButtonBarCode.setBounds(241, 65, 89, 23);
              contentPane.add(ButtonBarCode);
              
              JLabel labelImage = new JLabel("");
              labelImage.setBorder(new LineBorder(new Color(0, 0, 0)));
              labelImage.setBounds(47, 101, 346, 118);
              contentPane.add(labelImage);
          }
              protected void do_ButtonQRCode_actionPerformed(ActionEvent e) {
                  String productId = textFieldProductId.getText();
                  if(productId.isEmpty()) {
                      JOptionPane.showMessageDialog(null,"Por favor preencha o campo acima.");
                  }else {
                      byte [] result = ZXingHelper.getQRCodeImage(productId, 200, 200);
                      labelImage.setIcon(new ImageIcon(result));
              }
              
              
      }
              protected void do_ButtonBarCode_actionPerformed(ActionEvent e) {
                  String productId = textFieldProductId.getText();
                  if(productId.isEmpty()) {
                      JOptionPane.showMessageDialog(null,"Por favor preencha o campo acima.");
                  }else {
                      byte [] result = ZXingHelper.getBarCodeImage(productId, 200, 200);
                      labelImage.setIcon(new ImageIcon(result));
                  
                      
                  
                      
                  }
              }
              
      }
       
      package helpers;
      import java.io.ByteArrayOutputStream;
      import java.util.Hashtable;
      import com.google.zxing.BarcodeFormat;
      import com.google.zxing.EncodeHintType;
      import com.google.zxing.client.j2se.MatrixToImageWriter;
      import com.google.zxing.common.BitMatrix;
      import com.google.zxing.oned.Code128Writer;
      import com.google.zxing.qrcode.QRCodeWriter;
      import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

      public class ZXingHelper {
          public static byte[] getQRCodeImage (String text, int width, int height) {
              
              try {
                  QRCodeWriter qrCodeWriter = new QRCodeWriter();
                  BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);
                  ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                  MatrixToImageWriter.writeToStream(bitMatrix, "png", byteArrayOutputStream);
                  return byteArrayOutputStream.toByteArray();
                  
          }catch (Exception e) {
              return null;
          }
          }
          
          public static byte [] getBarCodeImage(String text, int width, int height) {
              
              try {
                  Hashtable<EncodeHintType, ErrorCorrectionLevel> hintMap = new Hashtable<>();
                          hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
                          Code128Writer writer = new Code128Writer();
                          BitMatrix bitMatrix = writer.encode(text, BarcodeFormat.CODE_128, width, height);
                          ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                          MatrixToImageWriter.writeToStream(bitMatrix, "png", byteArrayOutputStream);
                          return byteArrayOutputStream.toByteArray();
              } catch (Exception e) {
                  System.err.println(e.getMessage());
              }
              return null; 
                  
              }
      }
       
       
    • By Adriano Costa
      Fala pessoal tudo blz? Gostaria de fazer uma pergunta sobre logica de programação, eu criei um ToDo List  em Java Web, no meu projeto eu tenho uma tela de login que depois de logar o usuário acessa a lista de tarefa dele, a minha pergunta é, como eu poderia fazer para que cada usuário tenha acesso somente a sua lista de tarefas. Me da uma luz de que forma eu poderia fazer essa logica. Desde já agradeço. 
    • By Adriano Costa
      Fala galera!!!
      Eu sou novo na programação e estou precisando de uma ajuda, estou tentando fazer um for dentro dos scriplets mas esta dando erro. É a parte do read do meu crud. Quando eu aço o for através da camada controller ele funciona, mas na pagina jsp ele da um erro.
       
      <%@ page language="java" contentType="text/html; charset=utf-8"
          pageEncoding="utf-8"%>
      <%@page import="model.JavaBeans"%>
      <%@page import="java.util.ArrayList"%>  
      <%
          ArrayList<JavaBeans> lista = (ArrayList<JavaBeans>)request.getAttribute("contatos");
          for (int i = 0; i < lista.size(); i++){
              out.print(lista.get(i).getIdlista());
          }
      %>
       
      <!DOCTYPE html>
      <html>
      <head>
      <meta charset="utf-8">
      <title>Lista de Tarefas</title>
      <link rel="stylesheet" href="css/styles.css">
      </head>
      <body>
          <div id= "login-container">
              <h1>Lista de Tarefas</h1>
              <table>
                  <thead>
                      <tr>
                          <th>Código</th>
                          <th>Titulo</th>
                          <th>Descrição</th>
                          <th>Data</th>
                          <th>Status</th>
                          <th>Prioridade</th>
                      </tr>
                  </thead>
                  <tbody>
                      
                  </tbody>
              </table>
              <form name="frmContato" action="listarTarefa">
                  
                  <input type="submit" value="Cadastrar" onclick="validar()">
              </form>
              
          </div>
          <script src="scripts/validador.js"></script>    
      </body>
      </html>
       
      E esse é o erro
       
      HTTP Status 500 – Internal Server Error
      Type Exception Report
      Message An exception occurred processing [/listaTarefas.jsp] at line [8]
      Description The server encountered an unexpected condition that prevented it from fulfilling the request.
      Exception
      org.apache.jasper.JasperException: An exception occurred processing [/listaTarefas.jsp] at line [8] 5: 6: <% 7: ArrayList<JavaBeans> lista = (ArrayList<JavaBeans>)request.getAttribute("contatos"); 8: for (int i = 0; i < lista.size(); i++){ 9: out.print(lista.get(i).getIdlista()); 10: } 11: %> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:611) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:500) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:378) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:326) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Root Cause
      java.lang.NullPointerException org.apache.jsp.listaTarefas_jsp._jspService(listaTarefas_jsp.java:126) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:467) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:378) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:326) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Note A pilha de erros completa da causa principal está disponível nos logs do servidor.
       
       
      esse é o Medoto
       
      // Listar tarefa
              protected void tarefas(HttpServletRequest request, HttpServletResponse response)
                      throws ServletException, IOException {
                  //Criando um objeto que irá receber os dados do JavaBeans
                  ArrayList<JavaBeans> lista = dao.listarTarefa();
                  
                  request.setAttribute("tarefas", lista);
                  RequestDispatcher rd = request.getRequestDispatcher("listaTarefas.jsp");
                  rd.forward(request, response);
                  
                  //Teste de recebimento da lista
                  for(int i = 0; i<lista.size(); i++) {
                      System.out.println(lista.get(i).getIdcon());
                      System.out.println(lista.get(i).getTitulo());
                      System.out.println(lista.get(i).getDescricao());
                      System.out.println(lista.get(i).getData());
                      System.out.println(lista.get(i).getStatus());
                      System.out.println(lista.get(i).getPrioridade());
                  }
              }
          
    • By 4Unknow
      Boa tarde pessoal, como estão?
       
      Gostaria de uma ajudinha aqui. A forma mais prática e com um layout bacana, um pop-up toda vez(ou não) que o usuário abrir o site, um informativo que é importante.
      Tenho um site que vende algo muito específico e preciso deixar claro sobre meu produto como um informativo. Ou um banner/popup que abre quando o usuário entra no site para deixar claro.

      Ou um footer bonito que deixa claro essa informação.

      Se alguém tiver uma ideia ou puder ajudar, eu agradeceria.
    • By TeixeiraRamos
      Prezados, saúde e paz.
      Por favor, tenho muita vontade de aprender Java, mas estou tendo os seguintes problemas:
      Windows 10 - 64 bits
      Instalei o JDK 17, mas ao instalar o NetBeans 12.4 informa que não é compatível com essa versão do JDK.
      Então desinstalei e instalei o JDK 16.0.2 e voltei a instalar o NetBeans 12.4 e apareceu a seguinte mensagem no final "The specified installation folder is not empty."
      Nesta última etapa está:
      Install the Apache NetBeans IDE to:
      C:\Program Files\NetBeans-12.4
       
      JDK for the Apache NetBeans IDE:
      C:\Program Files\Java\jdk-16.0.2
      Adianto que antes de fazer a instalação do NetBeans fiz a alteração do PATCH e a Edicação das Variaveis do Sistema.
       
      Muito obrigado.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.