Anime
Agosto 7, 2010, 11:54pm
#1
Boa Noite,
Quero gravar o resultado do for no banco de dados,mas não sei como devo fazer ,help… :oops:
private void bt_geraparcelaActionPerformed(java.awt.event.ActionEvent evt) {
double valorparc=0,valocompra;
int numepar=0;
numepar=Integer.parseInt(tf_numparcelas.getText());
// if (numepar > 0)
// {
valorparc=((Double.parseDouble(tf_valorliquido.getText()) / (Double.parseDouble(tf_numparcelas.getText()))));
tf_valorpar.setText(String.valueOf(valorparc));
int cont=1;
Calendar data = Calendar.getInstance();
SimpleDateFormat format=new SimpleDateFormat("dd/MM/yyyy");
String h=format.format(data.getTime());
String resp="";
for (cont = 2; cont <= numepar; cont++) {
data.add(Calendar.MONTH, 1);
//JOptionPane.showMessageDialog(null,cont+"/"+numepar+" "+valorparc+" "+(format.format(data.getTime()))) ;
System.out.println(cont+"/"+numepar+" "+valorparc+" "+(format.format(data.getTime())));//aq está a saida que quero gravar,por favor um jeito simples
}
Que tipo de banco de dados :?
Anime
Agosto 8, 2010, 12:04am
#3
Access!Por favor não me fale pra mudar o banco,estou no fim do projeto…
Olha, banco Access nem tenho resposta.
Mas deixo uma sugestão.
Mude de Banco.
Anime
Agosto 8, 2010, 12:12am
#5
[quote=rafael.borges]Olha, banco Access nem tenho resposta.
Mas deixo uma sugestão.
Mude de Banco. [/quote]
Valeu!
Esqueci,o banco é access mas os comando são SQL,conexão JDBC.
Primeiramente, o que voce quer gravar no banco?
Já existe uma Tabela criada para o dado que vc qr gravar?
Ex: João gravar na tabela "“Pessoas” ou “Funcionarios”
Se esta tudo ok
Vc tem que montar a query que é a parte mais simples
INSERT INTO nome_da_tabela (COLUNA1, COLUNA2, …, COLUNA N) VALUES (VALOR1, VALOR2, …, VALOR N);
NOTA: Procure por PreparedStatement e os valores que são String’s devem estar entre aspas simples!
Anime
Agosto 8, 2010, 9:35pm
#8
Tentei fazer assim:
private void bt_geraparcelaActionPerformed(java.awt.event.ActionEvent evt) {
double valorparc=0,valocompra;
int numepar=0;
numepar=Integer.parseInt(tf_numparcelas.getText());
// if (numepar > 0)
// {
valorparc=((Double.parseDouble(tf_valorliquido.getText()) / (Double.parseDouble(tf_numparcelas.getText()))));
tf_valorpar.setText(String.valueOf(valorparc));
int cont=1;
Calendar data = Calendar.getInstance();
SimpleDateFormat format=new SimpleDateFormat("dd/MM/yyyy");
String h=format.format(data.getTime());
String resp="";
for (cont = 1; cont <= numepar; cont++) {
data.add(Calendar.MONTH, 1);
//resp=(cont )+ (numepar) + (valorparc) + (format.format(data.getTime()));
//JOptionPane.showMessageDialog(null,cont+"/"+numepar+" "+valorparc+" "+(format.format(data.getTime()))) ;
System.out.println(cont+"/"+numepar+" "+valorparc+" "+(format.format(data.getTime())));
//
try
{
String sqlinsert=" insert into TB_recebe (cont,numepar,valorparc,data) values (quant,numepar,valorparc,data)";//os campos a tabela são esses mesmo
conecta_venda.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null,"Gravação realizada com sucesso");
// atualizar resulset;
conecta_venda.resultset=conecta_venda.statement.executeQuery("select * from TB_recebe order by "+oi);
conecta_venda.resultset.first();//va
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Erro,dados não foram gravados"+erro);
}
}
}
Mas está dando erro. :oops:
pmlm
Agosto 9, 2010, 6:38am
#9
Anime:
String sqlinsert=" insert into TB_recebe (cont,numepar,valorparc,data) values (quant,numepar,valorparc,data)";//os campos a tabela são esses mesmo
conecta_venda.statement.executeUpdate(sqlinsert);
Dá uma vista de olhos em PreparedStatement .
Anime
Agosto 9, 2010, 7:54am
#10
[quote=pmlm][quote=Anime]
String sqlinsert=" insert into TB_recebe (cont,numepar,valorparc,data) values (quant,numepar,valorparc,data)";//os campos a tabela são esses mesmo
conecta_venda.statement.executeUpdate(sqlinsert);
[/quote]
Dá uma vista de olhos em PreparedStatement .[/quote]
Bom dia!
me ajuda ai vai quero um exemplo “facil”…
lina
Agosto 9, 2010, 8:47am
#11
Oi Anime,
Gostaria muito de ajuda-la. Porém, preciso saber qual é o erro!
Utilize:
catch(SQLException erro)
{
erro.printStackTrace();
JOptionPane.showMessageDialog(null,"Erro,dados não foram gravados"+erro);
}
E cole a exceção gerada.
Tchauzin!
Anime
Agosto 9, 2010, 9:03am
#12
[quote=lina]Oi Anime,
Gostaria muito de ajuda-la. Porém, preciso saber qual é o erro!
Utilize:
catch(SQLException erro)
{
erro.printStackTrace();
JOptionPane.showMessageDialog(null,"Erro,dados não foram gravados"+erro);
}
E cole a exceção gerada.
Tchauzin![/quote]
Oi Lina,bom dia!
Não sei se é isso que vc precisa:
java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 4.
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.executeUpdate(JdbcOdbcStatement.java:288)
lina
Agosto 9, 2010, 9:13am
#13
Oi,
A principio está faltando algum parâmetro em seu Insert…
Conecte via sql no se banco e mostre o desc da tabela. depois cole o resultado!
Tchauzin!
lina
Agosto 9, 2010, 9:23am
#14
Oi,
Outra coisa que analisei, ele não está encontrando os parâmetros pois os campos do tipo String devem ser passados por aspas simples ’
Tchauzin!
Anime
Agosto 9, 2010, 10:16am
#15
Todos os campos são inteiros menos o data.
Campos --------------------------- Tipo
cod----------------------------------AutoNumeração
quant--------------------------------Número
numepar----------------------------Número
valorpar-----------------------------Número
data----------------------------------Data
pmlm
Agosto 9, 2010, 10:21am
#16
Este erro não é do código acima. Como tens agora o código?
dxos
Agosto 9, 2010, 10:32am
#17
Nunca usei access
mais tenta usar esse trecho aqui…[code]
String sqlinsert=" insert into TB_recebe (cont,numepar,valorparc,data) values ("+quant+","+numepar+","+valorparc+",’"+data+"’)";
conecta_venda.statement.executeUpdate(sqlinsert);
[/code]
Anime
Agosto 9, 2010, 10:46am
#18
dxos,tentei mas não deu.
O código que gerou o erro:
[code]
private void bt_geraparcelaActionPerformed(java.awt.event.ActionEvent evt) {
double valorparc=0,valocompra;
int numepar=0;
numepar=Integer.parseInt(tf_numparcelas.getText());
// if (numepar > 0)
// {
valorparc=((Double.parseDouble(tf_valorliquido.getText()) / (Double.parseDouble(tf_numparcelas.getText()))));
tf_valorpar.setText(String.valueOf(valorparc));
int cont=1;
Calendar data = Calendar.getInstance();
SimpleDateFormat format=new SimpleDateFormat("dd/MM/yyyy");
String h=format.format(data.getTime());
String resp="";
for (cont = 1; cont <= numepar; cont++) {
data.add(Calendar.MONTH, 1);
//resp=(cont )+ (numepar) + (valorparc) + (format.format(data.getTime()));
//JOptionPane.showMessageDialog(null,cont+"/"+numepar+" "+valorparc+" "+(format.format(data.getTime()))) ;
System.out.println(cont+"/"+numepar+" "+valorparc+" "+(format.format(data.getTime())));
//
try
{
String sqlinsert=" insert into TB_recebe (quant,numepar,valorparc,data) values (comt,numepar,valorparc,data)";//os campos a tabela são esses mesmo
conecta_venda.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null,"Gravação realizada com sucesso");
// atualizar resulset;
conecta_venda.resultset=conecta_venda.statement.executeQuery("select * from TB_recebe order by "+oi);
conecta_venda.resultset.first();//va
}
catch(SQLException erro)
{
erro.printStackTrace();
JOptionPane.showMessageDialog(null,"Erro,dados não foram gravados"+erro);
}
}
} [/code]
Eu estava pensando em guardar o resultado do laço em um vetor ,será que a certo?
dxos
Agosto 9, 2010, 7:39pm
#20
utilizando a concatenação que eu mandei, continuou com o mesmo erro ?