Boa noite. Estou criando um formulario e não consigo mandar a informação da caixa de texto para o mesmo. Segue abaixo parte do codigo onde crio uma conexão com o banco de dados para criar um usuário.
try{
String url ="jdbc:odbc:admin_user";
String username="";
String password = "";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conexaoadmin;
conexaoadmin = DriverManager.getConnection(url,username,password);
Statement statementadmin ;
statementadmin = conexaoadmin.createStatement();
statementadmin.executeUpdate("INSERT INTO usuário(nome,senha)VALUES("+t_nome.getText()+","+p_pass2.getText()+")");
}
catch(Exception event)
{JOptionPane.showMessageDialog(null,"Conexão falhou",
"Tentativa de conexão falhou",
JOptionPane.ERROR_MESSAGE);
}
Aparentemente está correto, eu criei uma fonte de dados e tenho até uma classe que criei para ver se a conexão com essa mesma (e por incrivel que parece há uma conexão),porém quando clico no botão enviar o aplicativo cai no Exception event e manda a mensagem. Alguem pode me ajudar por favor. Desde de ja agradeço.
todo valor do tipo “texto” deve estar entre apóstrofos:
statementadmin.executeUpdate("INSERT INTO usuário(nome,senha)VALUES('"+t_nome.getText()+"','"+p_pass2.getText()+"')");
mas para evitar esse tipo de problema (e outros), use PreparedStatment.
Coloquei as simples depois aspas duplas e não resolve.
posta o errro cara que a gente analiza o que pode ser
com as aspas simples da forma como wbdsjunior postou
deveria ter funcionado.
posta o script da criação do banco tambem o erro pode estar com o tipo de dado
certo sao apenas ipotezes do pode ser
espero ter ajudado.
Este é o código
try{
String url ="jdbc:odbc:admin_user";
String username="";
String password = "";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conexaoadmin;
conexaoadmin = DriverManager.getConnection(url,username,password);
Statement statementadmin ;
statementadmin = conexaoadmin.createStatement();
statementadmin.executeUpdate("INSERT INTO usuário(nome,senha)VALUES('"+t_nome.getText()+"','"+p_pass2.getText()+"')");
JOptionPane.showMessageDialog(null,"Os dados forão enviados",
"Gravação de dados",
JOptionPane.INFORMATION_MESSAGE);
}
catch(Exception event)
{JOptionPane.showMessageDialog(null,"Conexão falhou",
"Tentativa de conexão falhou",
JOptionPane.ERROR_MESSAGE);
}
Obrigado.
o nome é apóstrofo e aspas, não “aspas simples” e “aspas dulpa”.
... INSERT INTO usuário(...
isso está certo? você criou a tabela usuario com acento?
[quote=wbdsjunior]o nome é apóstrofo e aspas, não “aspas simples” e “aspas dulpa”.
... INSERT INTO usuário(...
isso está certo? você criou a tabela usuario com acento?[/quote]
Valew era o nome da tabela com acento oq não pode ocorrer… Malz o erro sobre apostrofo e aspas “dulpas” . Muito obrigado wbdsjunior
Alguem poderia me dizer se é possível criar uma conexão com um banco de dados que está no pacote de outra classe?
eu criei duas classes: uma o formulário e a outra um programa que funciona como “carrinho” de compra. Faço o cadastro envio os dados ara o banco de dados , no mesmo banco tem um campo chamado SALDO, que o cliente faz o deposito de uma determinada quantia, quando o cliente faz a compra na , o valor da compra é debitado do valor do campo SALDO. o BANCO DE DADOS COM O CADASTRO ESTÁ EM UM PACOTE COM A CLASSE FORMULÁRIO E PRECISO PEGAR INFORMAÇÕES DESSE BANCO USANDO A CLASSE “CARRINHO DE COMPRA”, ISSO É POSSÍVEL?
Tenho uma segunda duvida. nese banco de dados exitem duas tabelas: Uma criei para os usuários poderem se logar no aplicativo e a segunda tabela para cadastro. Na tabela dos usuários consigo mandar as informções das JTextFields numa boa, porém na do cadastro tenho problemas as informações nã vão de jeito nenhum. Alguém poderia me ajudar? Obrigado