[RESOLVIDO]Parameter index out of range (2 > number of parameters, which is 1)

estou escrevendo um programa p/ um trabalho,
e tenho que cadastrar meu cliente. A tela está ok,
a entidade tá validando bunitinho, mas o problema
tá na persistência.

eis o código

	String sql = "insert into tb_clientes "+
                                     "(nome,tratamento,estado_civil,rua,numero,bairro,cidade,estado,complemento," +
				     "rg,cpf, orgao_emissao_rg,data_emissao_rg,telefone_residencial, "+
				     "telefone_celular,telefone_recados,pessoa_recados,data_registro,obs) "+
				     " values "+
				     "('?','?','?','?',?,'?','?','?','?'," +
				     "'?','?','?','?','?','?','?','?','?','?')";
			
			Connection con = Conexao.getConexao();
			PreparedStatement pst = con.prepareStatement(sql);

			pst.setString   (1,c.getNome());
			pst.setString   (2,c.getTratamento());
			pst.setString   (3,c.getEstadoCivil());

o erro dá na linha 31, que é a linha do “getTratamento()”

at saturno.persistencia.PerCliente.gravarCliente(PerCliente.java:31)

o problema é que está tudo certo(assim espero) mas insiste no erro!
pensei que fosse a IDE mas deu erro o eclipse e no netbeans.

será que alguém pode me ajudar? é que realmente é urgente!

obrigado!

o problema não era o código, mas as aspas simples entre os pontos de interrogação ¬¬.

é que na minha escola é usado MS SQL Server, e nele agente usa aspas, mas aí nesse projeto
resolvi usar mysql por causa de documentação, apesar de ter que adaptar um pouquinho os
scripts =).

mesmo assim MUUUITO obrigado pela atenção!

Marcos,

Manda o código completo e o stack completo do erro tbm, sem saber qual erro deu naum tem como te ajudar mto…

abçs

ok!

persistência:

public static boolean gravarCliente(EntCliente c) {
		try {
			
			String sql = "insert into tb_clientes "+
                                     "(nome,tratamento,estado_civil,rua,numero,bairro,cidade,estado,complemento," +
				     "rg,cpf, orgao_emissao_rg,data_emissao_rg,telefone_residencial, "+
				     "telefone_celular,telefone_recados,pessoa_recados,data_registro,obs) "+
				     " values "+
				     "('?','?','?','?',?,'?','?','?','?'," +
				     "'?','?','?','?','?','?','?','?','?','?')";
			
			Connection con = Conexao.getConexao();
			PreparedStatement pst = con.prepareStatement(sql);

			pst.setString   (1,c.getNome());
			pst.setString   (2,c.getTratamento());
			pst.setString   (3,c.getEstadoCivil());
			pst.setString   (4,c.getRua());
			pst.setInt      (5,c.getNumero());
			pst.setString   (6,c.getBairro());
			pst.setString   (7,c.getCidade());
			pst.setString   (8,c.getEstado());
			pst.setString   (9,c.getComplemento());
			pst.setString   (10,c.getRG());
			pst.setString   (11,c.getCPF());
			pst.setString   (12,c.getOrgaoEmissorRG());
			pst.setDate     (13,new java.sql.Date(c.getDataEmissaoRG().getTime()));
			pst.setString   (14,c.getTelefoneResidencial());
			pst.setString   (15,c.getTelefoneCelular());
			pst.setString   (16,c.getTelefoneRecados());
			pst.setString   (17,c.getPessoaRecados());
			pst.setDate     (18,new java.sql.Date(c.getDataRegistro().getTime()));
			pst.setString   (19,c.getObservacoes());
			
			pst.executeUpdate();
			
			pst.close();
			con.close();
			
			return true;
			
		}
		catch(SQLException e1)
		{
			e1.printStackTrace();
			return false;
			
		}catch(Exception e){
			e.printStackTrace();
			return false;
		}
	}

e agora, o erro:

java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
        at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3288)
        at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3272)
        at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4108)
        at saturno.persistencia.PerCliente.gravarCliente(PerCliente.java:31)
        at saturno.fronteira.FrmCliente.gravar(FrmCliente.java:445)
        at saturno.fronteira.FrmCliente.btnAplicarActionPerformed(FrmCliente.java:416)
        at saturno.fronteira.FrmCliente.access$100(FrmCliente.java:17)
        at saturno.fronteira.FrmCliente$2.actionPerformed(FrmCliente.java:109)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at org.jvnet.substance.utils.RolloverButtonListener.mouseReleased(RolloverButtonListener.java:111)
        at java.awt.Component.processMouseEvent(Component.java:6099)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5864)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4466)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4296)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2454)
        at java.awt.Component.dispatchEvent(Component.java:4296)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:284)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

obs:
o erro
at saturno.persistencia.PerCliente.gravarCliente(PerCliente.java:31)
se refere à linha 16 aqui no post.