Erro ao Salvar Dados no BD

Ola pessoal
nao sei se aqui sera o topico certo para posta a minha duvida… qualquer coisa desculpa =P
o meu problema eh o seguinte:
to tentando salvar dados de um jdialog para o meu bd (uso o postgre) mas toda vez quando eu preencho os campos e aperto em salvar
ele da o erro “valor é muito longo para tipo character(1)”
fui verificar na tabela q eu no postgre se tinha alguma coluna com caracter=1 mas n tem

CREATE TABLE "Alunos" ( "NomeUser" character(40), "Matricula" integer, "DataNascimento" character(10), "RG" integer, "CPF" character(14), "Sexo" character(12), "CEP" character(9), "Logradouro" character(30), "Complemento" character(20), "Bairro" character(15), "Cidade" character(15), "UF" character(2) )

Alguem teria ideia de qual esse caracter(1) se refere?

Vou postar aqui o meu codigo no botao salvar

[code] private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
Class.forName( DRIVER );
Connection con = DriverManager.getConnection( PATH, LOGIN, SENHA );
Statement stmt = con.createStatement( );

            if(jRadioButtonMasculino.isSelected() == true){
             Sexo = "Masculino";
            }
            else Sexo = "Feminino";

            
            String query = "INSERT INTO \"Alunos\" VALUES("
                    + "'"+jTextFieldNomeCliente.getText()+"'"
                    + "'"+jTextFieldMatricula.getText()+"'"
                    + "'"+jTextFieldNascimento.getText() +"'"
                    + "'"+jTextFieldRG.getText() +"'"
                    + "'"+jTextFieldCPF.getText() +"'"
                    + "'"+jTextFieldRG.getText() +"'"
                    + "'"+Sexo+"'"
                    + "'"+jTextFieldCEP.getText() +"'"
                    + "'"+jTextFieldLogradouro.getText() +"'"
                    + "'"+jTextFieldComplemento.getText() +"'"
                    + "'"+jTextFieldBairro.getText() +"'"
                    + "'"+jTextFieldCidade.getText() +"'"
                    + "'"+jComboBoxUF.getSelectedIndex() +"');";
        System.out.println( query );
        ResultSet rs = stmt.executeQuery( query );
        while ( rs.next() ) {
            nome.add(rs.getString(1));
            matricula.add(rs.getString(2));
            nascimento.add(rs.getString(3));
            rg.add(rs.getString(4));
            cpf.add(rs.getString(5));
            sexo.add(rs.getString(6));
            cep.add(rs.getString(7));
            logradouro.add(rs.getString(8));
            complemento.add(rs.getString(9));
            bairro.add(rs.getString(10));
            cidade.add(rs.getString(11));
            uf.add(rs.getString(12));
            String saida = "";
            for ( int i = 1; i <= 12; i++ ) {
                saida = saida + rs.getString( i );
                if ( i < 12 ) saida += "\t";
            }
            System.out.println( saida );
        }
        stmt.close( );
        con.close( );

        }
        catch(SQLException e ){
        javax.swing.JOptionPane.showMessageDialog( null, "ERROR: " + e.getMessage(),
            "SQLException", javax.swing.JOptionPane.WARNING_MESSAGE );
        }
        catch(ClassNotFoundException e){
        javax.swing.JOptionPane.showMessageDialog( null, "UNREPORTED ERROR: " + e.getMessage(),
            "Unreported Exception", javax.swing.JOptionPane.WARNING_MESSAGE );
        }
}[/code]

Quando você coloca

 + "'"+jTextFieldRG.getText() +"'"

e o valor está entre aspas simples, ele pode ser interpretado como String. Assim sendo, acredito que o erro seja aqui. Tente converter para int.

Voce diz algo meio q assim

+ "'"+Integer.parseInt(jTextFieldRG.getText()) +"'"

??
se for… nem pegou =\

Tire as aspas simples e faça a conversão

cara mas se eu tirar as aspas simples… o rg n iria como um campo isolado pro banco de dados…
n eh?

Então estuda PreparedStatement e faz do jeito certo.

Alguem tem outra ideia?