Ola Pessoal GUJ ,
Sou iniciante em java e estou tendo dificuldade para inserir dados em uma tabela (Deve ser problema de syntax)
Segue codigo abaixo:
Codigo instancio a classe que conecta com o banco de dados
DBConnection db = new DBConnection("controle_estoque.db");
db.initDB();
db.addProduto("0001","Doce de Banana","2.00","1.00","10","1");
} catch (Exception e) {
e.printStackTrace();
}
Trecho do Codigo da classe DBConection
import java.sql.*;
import java.util.Vector;
public class DBConnection {
private Connection conn;
private Statement stm;
/**
* O construtor cria uma nova conexão com o banco de dados sqlite contido
* no arquivo passado como parâmetro. A conexão é possibilitada pelo driver
* JDBC, fornecido por SQLiteJDBC.
*/
public DBConnection(String file) throws SQLException, ClassNotFoundException {
Class.forName("org.sqlite.JDBC");
this.conn = DriverManager.getConnection("jdbc:sqlite:" + file);
this.stm = this.conn.createStatement();
}
/**
* Cria uma nova tabela de recordes, apagando tudo que houvesse na base
* anteriormente.
*/
public void initDB() {
try {
this.stm.executeUpdate("DROP TABLE IF EXISTS Produtos");
this.stm.executeUpdate("CREATE TABLE Produtos (" + "Cod TEXT ," + "produtos TEXT ," + "preco TEXT ," + "comissao TEXT ," + "quantidade TEXT ," + "quantidade_minima TEXT );");
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* Adiciona uma nova linha na tabela de Produtos.
*/
public void addProduto(String codigo,String produto,String preco,String comissao,String quantidade,String quantidade_minima) {
try {
this.stm = this.conn.createStatement();
// NAS LINHAS ABAIXO ACONTECE O ERRO
this.stm.executeUpdate("INSERT INTO Produtos VALUES (\"" +
codigo + "\"," +
produto + "\"," +
preco + "\"," +
comissao + "\"," +
quantidade + "\"," +
quantidade_minima + ")");
} catch (SQLException e) {
System.out.println("Vc errou!!!");
e.printStackTrace();
}
}
Linha de comando no prompt de comando (CMD.EXE) do windows
java -classpath .;sqlitejdbc.jar controle_estoque
Erro Gerado:
Vc errou!!!
java.sql.SQLException: near "de": syntax error
at org.sqlite.DB.ex(DB.java:112)
at org.sqlite.DB.throwex(DB.java:113)
at org.sqlite.DB.prepare(Native Method)
at org.sqlite.Stmt.executeUpdate(Stmt.java:145)
at DBConnection.addProduto(DBConnection.java:41)
at janela.<init>(janela.java:19)
at controle_estoque.main(controle_estoque.java:12)
Não sei aonde esta o erro
Desde ja agradeço