Não consigo salvar no Access

to a muitus dias travado nisso e n consigo evoluir algueim me salva to com 2 projetos e ambos n consigo conectar no banco de dados vejam abaixo os 2 codigos de save para o banco de dados todos codigos estao sem erro mas o problema parece estar no bancoDD

1)

[code]private void bt_CadastroActionPerformed(java.awt.event.ActionEvent evt) {
try
{
String sqlinsert = “insert into Biblioteca” +
"(Livro,Editora,Autor) values (’"+
tf_Livro.getText()+"’,’"+
tf_Editora.getText()+"’,’"+
tf_Autor.getText()+")";
con_cadastro.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null, “Gravação feita com sucesso”);

    //Atualiza o ResultSet
    con_cadastro.resultset = con_cadastro.statement.executeQuery("select * from Biblioteca order by "+ordenacao);
    con_cadastro.executeSQL("select * from Biblioteca order by "+ordenacao);
    
    con_cadastro.resultset.first(); //pocisiona no 1º reg
    mostra_dados();
    
}

catch (SQLException erro)
{
    JOptionPane.showMessageDialog(null, "Erro ao tentar gravar o registro" +erro.getMessage());
}

ERRO = Erro ao tentar gravar o registro[Microsoft][Driver ODBC para MS Access] erro de sintaxe na sequencia de caracteres na expressao de consulta "TEXTO)’.[/code]

2)

[code]private void botao_gravarActionPerformed(java.awt.event.ActionEvent evt) {
try
{
String sqlinsert = “insert into cliente” +
"(UF,Nome,FoneR,Rg,Cpf,Email,DdN,End,N,Comp,FoneC,Cep,DataCad,Foto,Obs) values (’"+
tf_CodUf.getText()+"’,’"+
tf_Nome.getText()+"’,’"+
tf_FoneR.getText()+"’,’"+
tf_Rg.getText()+"’,’"+
tf_Cpf.getText()+"’,’"+
tf_Email.getText()+"’,’"+
tf_DdN.getText()+"’,’"+
tf_End.getText()+"’,’"+
tf_N.getText()+"’,’"+
tf_Comp.getText()+"’,’"+
tf_FoneC.getText()+"’,’"+
tf_Cep.getText()+"’,’"+
tf_DataCad.getText()+"’,’"+
tf_Foto.getText()+"’,’"+
tf_Obs.getText()+"’)";
con_cidade.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null, “Gravação feita com sucesso”);

    //Atualiza o ResultSet
    con_cidade.resultset = con_cidade.statement.executeQuery("select * from cliente order by "+ordenacao);
    con_cidade.executeSQL("select * from cliente order by "+ordenacao);
    atualiza_combo_box_cidade();
    con_cidade.resultset.first(); //pocisiona no 1º reg
    mostra_dados();
    
}

catch (SQLException erro)
{
    JOptionPane.showMessageDialog(null, "Erro ao tentar gravar o registro" +erro.getMessage());
}

[/code]
ERRO = Erro ao tentar gravar o registro[Microsoft][Driver ODBC para MS Access]Tipo de dados imcompativeis na expressao de critério.

o erro é o tipo de dados do banco. para uma melhor visualização poste o seu modelo de entidade relacionamento

Oi,

  1. Ao postar códigos, por favor, use a tag code. Se ainda não sabe fazer isso, leia o tópico:
    http://www.guj.com.br/posts/list/50115.java

  2. Não crie tópicos com letras maiúsculas. Querer chamar mais atenção do que os demais é falta de educação. Além disso, maiúsculas na internet dá a impressão de que a pessoa está gritando.

  3. Evite termos como “ME AJUDEM PLZ”, “SOCORRO!!!”, etc. Além de não somarem nada ao tópico, ninguém tem obrigação de te responder com urgência. Por isso, mantenha o profissionalismo e faça sua dúvida sem esse tipo de artifício.

  4. Deixe o miguxês para fora do fórum. Aqui, procure usar uma linguagem um pouco mais formal. Nem todo mundo usa termos como “algueim” e “muitu” e isso só tende a piorar.

Parte dessas coisas eu corrigi para você dessa vez. Por favor, evite errar na próxima.

Quanto ao seu problema, faça o seguinte. Mande imprimir no System.out o conteúdo das variáveis que contém SQL. Então, poste esse conteúdo aqui. Claramente num dos casos você errou algo na escrita, mas é impossível saber o que porque parte do texto do SQL está escondido no interior das suas variáveis de filtro.

http://img230.imageshack.us/my.php?image=problema1xp8.jpg

o erro ocorre pelo jeito no 2º TextField

OBS: esse erro e relacionado ao 1º código ao projeto Biblioteca nao o 2º código!

Não adianta mostrar o erro, isso você já tinha feito.
Mande imprimir a sua SQL completa (pode ser com System.out) e então mostre-a.

Com certeza o erro está na SQL, não no JTextField.

como faço isso sou iniciante vc quer q eu use esse código System.out.println(""); aonde?

consegui um avanco depois de DIAS nisso consegui faze o projeto Biblioteca gravar no banco, aparece a mensagem de gravou com sucesso mas depois da um erro Parametros insuficientes era esperados 1, o que pode ser?

muitu obrigado a todos que me ajudaro até agora!

[quote=ken420]consegui um avanco depois de DIAS nisso consegui faze o projeto Biblioteca gravar no banco, aparece a mensagem de gravou com sucesso mas depois da um erro Parametros insuficientes era esperados 1, o que pode ser?

muitu obrigado a todos que me ajudaro até agora![/quote]
Sem mostrar os erros com mais detalhes fica dificil te dizer o que é.
Poste os erros e um trecho do seu código

para simplificar o seu problema de uma olhada em PrepareStantement pode facilitar a sua vida com relaçãos as sqls;

ps = (PreparedStatement) connection .prepareStatement("insert into Usuario (email,nome,senha,usuario,nivel_nivel_id)VALUES (?,?,?,?,?)"); ps.setString(1,"email"); ps.setString(2, "nome"); ps.setString(3, "senha"); ps.setString(4, "usuario"); ps.setInt(5, 1); ps.executeUpdate();

Aqui segue a foto do erro http://img526.imageshack.us/img526/6017/problemauz7.jpg OBS: agora ele ta gravando no ACCESS mas ta dando esse erro de parametro.

Aqui segue o código que esta dando o erro
try
{

    String sqlinsert = "insert into Biblioteca" +
            "(Livro,Autor,Editora) values ('"+
            tf_Livro.getText()+"','"+
            tf_Autor.getText()+"','"+
            tf_Editora.getText()+"')";
            con_cadastro.statement.executeUpdate(sqlinsert);
            JOptionPane.showMessageDialog(null, "Gravação feita com sucesso");
    
    //Atualiza o ResultSet
    con_cadastro.resultset = con_cadastro.statement.executeQuery("select * from Biblioteca order by "+ordenacao);
    con_cadastro.executeSQL("select * from Biblioteca order by "+ordenacao);
    
    con_cadastro.resultset.first(); //pocisiona no 1º reg
    mostra_dados();
    
}

catch (SQLException erro)
{
    JOptionPane.showMessageDialog(null, "Erro ao tentar gravar o registro" +erro.getMessage());
}

algueim pode me passar o site q poe os codigo para ele fica destacado e bem organizado?

estava observando aqui e os arquivos q sao salvos no banco de dados nao estao sendo inseridos na minha JTable tambem.

coloque assim erro.printStackTrace(); vai mostrar o log de erros vai ficar mais facil de identificar qual é o erro

E antes do seu executeQuery crie linhas como:
System.out.println(sqlinsert);

Seu SQL está errado. Esse erro o access dá quando um dos campos está escrito com nome errado, ou quando um dos parâmetros está faltando.

É importante saber exatamente que SQL está indo para o banco. Principalmente porque você concatena muitas variáveis ao seu código SQL.

Deu esse seguinte log.

compile-single:
run-single:
insert into Biblioteca(Livro,Autor,Editora) values (‘a’,‘b’,‘c’)
java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
at Cadastro.bt_CadastroActionPerformed(Cadastro.java:245)
at Cadastro.access$100(Cadastro.java:16)
at Cadastro$2.actionPerformed(Cadastro.java:94)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6041)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5806)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4413)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440)
at java.awt.Component.dispatchEvent(Component.java:4243)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Faz o seguinte. Abre o seu DB no access, vá em consultas, no modo SQL e cole o código:
insert into Biblioteca(Livro,Autor,Editora) values (‘a’,‘b’,‘c’)

Tente rodar o SQL e veja o erro. Ele deve acontecer lá novamente, com a diferença que o access geralmente irá marcar qual dos parâmetros ele não reconheceu.

Também certfique-se que as colunas “Livro”, “Autor” e “Editora” realmente existem na tabela “Biblioteca”, que o nome delas está certo no banco e que todas são do tipo texto.

vini sei acessar o modo consulta mas n entendi direito como fazer para execultar
insert into Biblioteca(Livro,Autor,Editora) values (‘a’,‘b’,‘c’) em modo sql poderia explicar mais detalhadamente pois sou bem iniciante comecei estudar programacao e banco a 1 mes apenas, e obrigado pelo força que vc e outros membros vem me dando!

  1. Entre no seu BD do Access;
  2. Clique em consultas, novo, modo de design;
  3. Clique em fechar, para fechar sua lista de tabelas;
  4. Na barra de ferramentas, clique no botão SQL (deve ser o primeiro);
  5. Cole o SQL que está dando problema no seu código, no caso:
    insert into Biblioteca(Livro,Autor,Editora) values (‘a’,‘b’,‘c’)
  6. Na barra de ferramentas, clique no sinal de exclamação para executar a consulta.

Provavelmente o access irá dar o mesmo erro do seu código java, porém, ressaltando o local do erro. Tente corrigir a consulta no próprio access, antes de devolve-la para o java.

.

problema biblioteca resolvido mas o otro ta complicado