nÃo consigo atualizar tablea no mysql ... heeeellllp

10 respostas
M
tento atualizar uma tabela no mysql com o comando:

String sql = INSERT INTO TIPO_LANCAMENTO (?,?);

PreparedStatement ps = BancoDeDados.conexao.prepareStatement(sql);
ps.setInt(1, tl.getTipoCodigo());
    ps.setString(2, tl.getTipoNome());
    ps.executeUpdate();
    ps.close();

e o sistema me retorna erro dizendo que o comando do SQL está errado, com uma exceção na linha do ps.executeUpdate();

Não consigo achar o erro e o bicho tá pegando. heeeeellllllllllllp!!!
[]´s

10 Respostas

yoshikichi
<blockquote><div class="quote-author">metalbhz:</div>tento atualizar uma tabela no mysql com o comando:

String sql = “INSERT INTO TIPO_LANCAMENTO (?,?)”;

PreparedStatement ps = BancoDeDados.conexao.prepareStatement(sql);
ps.setInt(1, tl.getTipoCodigo());
    ps.setString(2, tl.getTipoNome());
    ps.executeUpdate();
    ps.close();

e o sistema me retorna erro dizendo que o comando do SQL está errado, com uma exceção na linha do ps.executeUpdate();

Não consigo achar o erro e o bicho tá pegando. heeeeellllllllllllp!!!
[]´s

posta o erro ai

LuizAvila

O erro é que o SQL tá errado, veja a sintaxe correta no link abaixo

MySQL :: Manual de Referência do MySQL 4.1 :: 6.4.3 Sintaxe INSERT

cheguei nesse link com uma consulta simples no google:

que me deu o seguinte resultado:

http://www.google.com.br/search?q=mysql+insert&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:pt-BR:official&client=firefox-a

sempre qye tiver probelma lembre do google, ele vai te ajudar mais rápido

jimmyhc
<blockquote><div class="quote-author">metalbhz:</div>tento atualizar uma tabela no mysql com o comando:

String sql = “INSERT INTO TIPO_LANCAMENTO (?,?)”;

PreparedStatement ps = BancoDeDados.conexao.prepareStatement(sql);
ps.setInt(1, tl.getTipoCodigo());
    ps.setString(2, tl.getTipoNome());
    ps.executeUpdate();
    ps.close();

e o sistema me retorna erro dizendo que o comando do SQL está errado, com uma exceção na linha do ps.executeUpdate();

Não consigo achar o erro e o bicho tá pegando. heeeeellllllllllllp!!!
[]´s

Mano tu ta querendo atualizar uma página usando insert nao clausula SQL.

Não seria Uptade.

W

Sintaxe do insert ta errada.

insert into TIPO_LANCAMENTO values (?,?);

ou vc poderia especificar os campos tb por exemplo ;

insert into TIPO_LANCAMENTO (campo1, campo2) values (?,?);

//Daniel

yoshikichi

claro q se especificar os campos é o correto, mas, qndo vc coloca:

veja um exemplo, o default é pq a chave primaria é auto increment, e deve ser passada como default tb, ou setar uma chave q nao exista no banco:

String sql = "insert into Tabela"+
		" values(default,?,?,?,?,?);";
		PreparedStatement pre = con.prepareStatement(sql);
		pre.setString(1,"QUALQUER COISA 2");
		pre.setString(2,"[email removido]");
		pre.setString(3,"outra coisa");
		pre.setString(4,"quarto parametro");
		pre.setString(5,"ISSO funciona");
		pre.executeUpdate();

por obrigação, qndo vc nao coloca:

insert into tabela (campos) values(valores);

VC tem q passar todos os parametros na tabela.
falow

W

yoshikichi:
windsofhell:

Sintaxe do insert ta errada.

insert into TIPO_LANCAMENTO values (?,?);

ou vc poderia especificar os campos tb por exemplo ;

insert into TIPO_LANCAMENTO (campo1, campo2) values (?,?);

//Daniel

claro q se especificar os campos é o correto, mas, qndo vc coloca:

veja um exemplo, o default é pq a chave primaria é auto increment, e deve ser passada como default tb, ou setar uma chave q nao exista no banco:

String sql = "insert into Tabela"+
		" values(default,?,?,?,?,?);";
		PreparedStatement pre = con.prepareStatement(sql);
		pre.setString(1,"QUALQUER COISA 2");
		pre.setString(2,"[email removido]");
		pre.setString(3,"outra coisa");
		pre.setString(4,"quarto parametro");
		pre.setString(5,"ISSO funciona");
		pre.executeUpdate();

por obrigação, qndo vc nao coloca:

insert into tabela (campos) values(valores);

VC tem q passar todos os parametros na tabela.
falow

Passar todos os paramentos na tabela? nao entendi. Vc quis dizer que vc precisa especificar todos os campos da tabela?
Se for isso, sinto muito mas vc esta errado, nao eh necessario, vc so coloca os campos que vc quer inserir dados, agora se na sua tabela tiver campos que sao definidos como NOT NULL ai vai dar erro se vc nao adicionar nada claro.

Talvez vc tenha uma tabela “users” que o campo ID eh auto_increment por exemplo:

ID integer not null auto_increment
name varchar(50) not null,
email varchar(50);

vc nao precisa adicionar ID, ai vc poderia somente fazer

insert into users (name, email) values (?, ?);

De qualquer forma a instrucao SQL que ele tava usando estava errada:

insert into TIPO_LANCAMENTO (?,?);

nao existe.

O correto insert into TIPO_LANCAMENTO values (?,?);

Se ele vai especificar os campos ou nao ai eh outra estoria, dependendo dos casos eu especifico o campos ou nao.

//Daniel

yoshikichi

windsofhell:
yoshikichi:
windsofhell:

Sintaxe do insert ta errada.

insert into TIPO_LANCAMENTO values (?,?);

ou vc poderia especificar os campos tb por exemplo ;

insert into TIPO_LANCAMENTO (campo1, campo2) values (?,?);

//Daniel

claro q se especificar os campos é o correto, mas, qndo vc coloca:

veja um exemplo, o default é pq a chave primaria é auto increment, e deve ser passada como default tb, ou setar uma chave q nao exista no banco:

String sql = "insert into Tabela"+
		" values(default,?,?,?,?,?);";
		PreparedStatement pre = con.prepareStatement(sql);
		pre.setString(1,"QUALQUER COISA 2");
		pre.setString(2,"[email removido]");
		pre.setString(3,"outra coisa");
		pre.setString(4,"quarto parametro");
		pre.setString(5,"ISSO funciona");
		pre.executeUpdate();

por obrigação, qndo vc nao coloca:

insert into tabela (campos) values(valores);

VC tem q passar todos os parametros na tabela.
falow

Passar todos os paramentos na tabela? nao entendi. Vc quis dizer que vc precisa especificar todos os campos da tabela?
Se for isso, sinto muito mas vc esta errado, nao eh necessario, vc so coloca os campos que vc quer inserir dados, agora se na sua tabela tiver campos que sao definidos como NOT NULL ai vai dar erro se vc nao adicionar nada claro.

Talvez vc tenha uma tabela “users” que o campo ID eh auto_increment por exemplo:

ID integer not null auto_increment
name varchar(50) not null,
email varchar(50);

vc nao precisa adicionar ID, ai vc poderia somente fazer

insert into users (name, email) values (?, ?);

De qualquer forma a instrucao SQL que ele tava usando estava errada:

insert into TIPO_LANCAMENTO (?,?);

nao existe.

O correto insert into TIPO_LANCAMENTO values (?,?);

Se ele vai especificar os campos ou nao ai eh outra estoria, dependendo dos casos eu especifico o campos ou nao.

//Daniel

Qndo vc não coloca os campos, por exemplo

insert into tabela values(vc tem q passar todos atribusto);

se vc acha q eu estou errado, faz o teste ai
:slight_smile:

yoshikichi

yoshikichi:
windsofhell:
yoshikichi:
windsofhell:

Sintaxe do insert ta errada.

insert into TIPO_LANCAMENTO values (?,?);

ou vc poderia especificar os campos tb por exemplo ;

insert into TIPO_LANCAMENTO (campo1, campo2) values (?,?);

//Daniel

claro q se especificar os campos é o correto, mas, qndo vc coloca:

veja um exemplo, o default é pq a chave primaria é auto increment, e deve ser passada como default tb, ou setar uma chave q nao exista no banco:

String sql = "insert into Tabela"+
		" values(default,?,?,?,?,?);";
		PreparedStatement pre = con.prepareStatement(sql);
		pre.setString(1,"QUALQUER COISA 2");
		pre.setString(2,"[email removido]");
		pre.setString(3,"outra coisa");
		pre.setString(4,"quarto parametro");
		pre.setString(5,"ISSO funciona");
		pre.executeUpdate();

por obrigação, qndo vc nao coloca:

insert into tabela (campos) values(valores);

VC tem q passar todos os parametros na tabela.
falow

Passar todos os paramentos na tabela? nao entendi. Vc quis dizer que vc precisa especificar todos os campos da tabela?
Se for isso, sinto muito mas vc esta errado, nao eh necessario, vc so coloca os campos que vc quer inserir dados, agora se na sua tabela tiver campos que sao definidos como NOT NULL ai vai dar erro se vc nao adicionar nada claro.

Talvez vc tenha uma tabela “users” que o campo ID eh auto_increment por exemplo:

ID integer not null auto_increment
name varchar(50) not null,
email varchar(50);

vc nao precisa adicionar ID, ai vc poderia somente fazer

insert into users (name, email) values (?, ?);

De qualquer forma a instrucao SQL que ele tava usando estava errada:

insert into TIPO_LANCAMENTO (?,?);

nao existe.

O correto insert into TIPO_LANCAMENTO values (?,?);

Se ele vai especificar os campos ou nao ai eh outra estoria, dependendo dos casos eu especifico o campos ou nao.

//Daniel

Qndo vc não coloca os campos, por exemplo

insert into tabela values(vc tem q passar todos atribusto);

se vc acha q eu estou errado, faz o teste ai
:)

qndo eu falei

insert into tabela values(vc tem q passar todos atribusto);

é diferente de

insert into tabela (campos q vc qr, mais obrigadtorios) values(valore);

Uma coisa é vc especificar tabela(campos) valore(valoreS)
outra coisa é vc coloca tabela valore(valores).
acho q fui claro não é.

W

yoshikichi:
windsofhell:
yoshikichi:
windsofhell:

Sintaxe do insert ta errada.

insert into TIPO_LANCAMENTO values (?,?);

ou vc poderia especificar os campos tb por exemplo ;

insert into TIPO_LANCAMENTO (campo1, campo2) values (?,?);

//Daniel

claro q se especificar os campos é o correto, mas, qndo vc coloca:

veja um exemplo, o default é pq a chave primaria é auto increment, e deve ser passada como default tb, ou setar uma chave q nao exista no banco:

String sql = "insert into Tabela"+
		" values(default,?,?,?,?,?);";
		PreparedStatement pre = con.prepareStatement(sql);
		pre.setString(1,"QUALQUER COISA 2");
		pre.setString(2,"[email removido]");
		pre.setString(3,"outra coisa");
		pre.setString(4,"quarto parametro");
		pre.setString(5,"ISSO funciona");
		pre.executeUpdate();

por obrigação, qndo vc nao coloca:

insert into tabela (campos) values(valores);

VC tem q passar todos os parametros na tabela.
falow

Passar todos os paramentos na tabela? nao entendi. Vc quis dizer que vc precisa especificar todos os campos da tabela?
Se for isso, sinto muito mas vc esta errado, nao eh necessario, vc so coloca os campos que vc quer inserir dados, agora se na sua tabela tiver campos que sao definidos como NOT NULL ai vai dar erro se vc nao adicionar nada claro.

Talvez vc tenha uma tabela “users” que o campo ID eh auto_increment por exemplo:

ID integer not null auto_increment
name varchar(50) not null,
email varchar(50);

vc nao precisa adicionar ID, ai vc poderia somente fazer

insert into users (name, email) values (?, ?);

De qualquer forma a instrucao SQL que ele tava usando estava errada:

insert into TIPO_LANCAMENTO (?,?);

nao existe.

O correto insert into TIPO_LANCAMENTO values (?,?);

Se ele vai especificar os campos ou nao ai eh outra estoria, dependendo dos casos eu especifico o campos ou nao.

//Daniel

Qndo vc não coloca os campos, por exemplo

insert into tabela values(vc tem q passar todos atribusto);

se vc acha q eu estou errado, faz o teste ai
:)

O que vc acha de atributo? os campos?

Sim, se vc nao especificar os campos tipo insert into tabela values (?,?). Isso quer dizer que a sua tabela tem dois campos. Se tiver mais vai dar erro.

Porem vc nao disse isso, vc disse :

Agora se vc tem uma tabela com tres campos Id, nome, email,

se vc fizer : insert into (nome, email) values (?,?) e o seu campo id for auto_increment, vai funcionar de boa, nao vai?

Vai ver eu entendi errado o que vc quis dizer.

//Daniel

yoshikichi

windsofhell:
yoshikichi:
windsofhell:
yoshikichi:
windsofhell:

Sintaxe do insert ta errada.

insert into TIPO_LANCAMENTO values (?,?);

ou vc poderia especificar os campos tb por exemplo ;

insert into TIPO_LANCAMENTO (campo1, campo2) values (?,?);

//Daniel

claro q se especificar os campos é o correto, mas, qndo vc coloca:

veja um exemplo, o default é pq a chave primaria é auto increment, e deve ser passada como default tb, ou setar uma chave q nao exista no banco:

String sql = "insert into Tabela"+
		" values(default,?,?,?,?,?);";
		PreparedStatement pre = con.prepareStatement(sql);
		pre.setString(1,"QUALQUER COISA 2");
		pre.setString(2,"[email removido]");
		pre.setString(3,"outra coisa");
		pre.setString(4,"quarto parametro");
		pre.setString(5,"ISSO funciona");
		pre.executeUpdate();

por obrigação, qndo vc nao coloca:

insert into tabela (campos) values(valores);

VC tem q passar todos os parametros na tabela.
falow

Passar todos os paramentos na tabela? nao entendi. Vc quis dizer que vc precisa especificar todos os campos da tabela?
Se for isso, sinto muito mas vc esta errado, nao eh necessario, vc so coloca os campos que vc quer inserir dados, agora se na sua tabela tiver campos que sao definidos como NOT NULL ai vai dar erro se vc nao adicionar nada claro.

Talvez vc tenha uma tabela “users” que o campo ID eh auto_increment por exemplo:

ID integer not null auto_increment
name varchar(50) not null,
email varchar(50);

vc nao precisa adicionar ID, ai vc poderia somente fazer

insert into users (name, email) values (?, ?);

De qualquer forma a instrucao SQL que ele tava usando estava errada:

insert into TIPO_LANCAMENTO (?,?);

nao existe.

O correto insert into TIPO_LANCAMENTO values (?,?);

Se ele vai especificar os campos ou nao ai eh outra estoria, dependendo dos casos eu especifico o campos ou nao.

//Daniel

Qndo vc não coloca os campos, por exemplo

insert into tabela values(vc tem q passar todos atribusto);

se vc acha q eu estou errado, faz o teste ai
:)

O que vc acha de atributo? os campos?

Sim, se vc nao especificar os campos tipo insert into tabela values (?,?). Isso quer dizer que a sua tabela tem dois campos. Se tiver mais vai dar erro.

Porem vc nao disse isso, vc disse :

Agora se vc tem uma tabela com tres campos Id, nome, email,

se vc fizer : insert into (nome, email) values (?,?) e o seu campo id for auto_increment, vai funcionar de boa, nao vai?

Vai ver eu entendi errado o que vc quis dizer.

//Daniel

se vc passa: insert into (nome, email) values (?,?)
vc esta explicitamente falando q vc vai inserir nome e email, o id é auto increment naop precisa
mas se eu tirar as declarações

sacou q eu disse?
Se eu fizer isso tenho q passar todos parametros(atributos), pq nao estou dizendo quais são os campos q irei dar o insert.
falow

Criado 21 de setembro de 2008
Ultima resposta 21 de set. de 2008
Respostas 10
Participantes 5