Insert registo no mySQLInserir

Boas pessoal,

Estou a tentar inserir um registo na base de dados ( MySql ) e estou recebendo dois tipos de erro :

O 1º é :

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'Acordado' in 'field list'
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3118)
        at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1313)
        at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1232)




O 2º é ( Acontece quando eu selecciono determinado valor numa comboBox

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TV)' at line 1
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3118)
        at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1313)
        at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1232)

Eis o codigo :

        String tt= ititulo.getText();
        String form= (String)iformato.getSelectedItem();
        String img = iimagem.getText();
        String gen = (String)igenero.getSelectedItem();


String qq = "insert into dvd(titulo, formato, imagem, genero) values("+tt+","+form+","+img+","+gen+")";
       insereDados id = new insereDados(qq);

A base de dados esta assim :

Database name : livraria
        -> Tabela Name : dvd 
                      -> Campo DVDREF ( Campo que se auto incrementa, é KEY )
                      -> Campo TITULO ( String 50 caracteres )
                      -> Campo FORMATO ( String 30 caracteres )
                      -> Campo IMAGEM ( String 30 caracteres )
                      -> Campo GENERO ( String 30 caracteres )

O que estará mal no meu codigo ?

Coloque os valores entre aspas.

Sugiro que invés de usar essa concatenação, que use PreparedStatement.

[code]PreparedStatement stmt = conexao.prepareStatement(insert into dvd(titulo, formato, imagem, genero) values(?, ?, ?, ?)");
stmt.setString(1, tt);
stmt.setString(2, form);
stmt.setString(3, img);
stmt.setString(4, gen);

stmt.executeUpdate();[/code]

Assunto resolvido,

Obrigado…