Olá:

        Tenho uma tabela na qual um dos campos é um char. Quando vou inserir,
tenho que usar um PreparedStatement.setString(int, String) pois não há
um metodo setChar(int, char). O algoritmo segue abaixo:

        String cmd  = "INSERT INTO \"Tabela\" (\"Chave\", \"Valor\") VALUES (?,
?)";
        try {
                PreparedStatement stmt  = this.conn.prepareStatement(cmd);
                stmt.setInt(1, chave); // Chave é um int
         // Concateno meuChar com uma Sting para poder ser aceito por
setString
                stmt.setString(2, "" + meuChar); 
                if(stmt.executeUpdate() == 1) {
                        System.out.println("Movement added!");
                }
        } catch(SQLException e) {
                e.printStackTrace();
        }

        Ao executar o programa e executar o metodo executeUpdate() é disparada
uma exceção com a seguinte mensagem: "java.sql.SQLException: ERROR: 
Unterminated quoted string".
        Por outro lado se escrever:

        String cmd  = "INSERT INTO \"Tabela\" (\"Chave\", \"Valor\") VALUES (?,
'X')";

        e comentar o setStringtudo ocorre normalmente. 
        Como faço para contornar essa situação? Há um método melhor de se
inserir um char num JDBC? 

        
        Grato, 
-- 
===================================
  Rafael U. C. Afonso
  Java 2 Certified Programmer
  E-mail: [EMAIL PROTECTED]
  Tel:    +55 (11) 5581-6013
===================================

------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a