não aceita o sinal %

Olá pessoal,dei uma pesquisada aqui no forum,porém não encontrei nada a respeito.Tenho um dos campos do meu form,no qual é dada
a porcentagem de conclusão de um determinado evento.Quando eu digito um texto,por exemplo " foi concluido 1% do processo",e mando salvar,
não acontece nada,e se,no msmo campo eu ja tiver digitado algo antes,volta ao q estava antes,desde q tambem ão tenha o %.
Alguem sabe o que pode estar acontecendo?

Que banco de dados você tá usando? MySQL? SQL Server? …?
Como tá sendo feito o acesso? Hibernate? JDBC puro? …?
Se via JDBC, tá usando PreparedStatement ou Statement?

Estou usando SqlServer,PreparedStatement ,JDBC puro

Você tá declarando a string de inserção com ? e usando ps.setString() ?
Não deveria ter problema. Bem estranho.

isso mesmo.Realmente é estranho…estou tentando encontrar uma solução ,mas está um tanto complicado.

Poste o código. Eu poderia jurar que vc esta concatenando strings pra gerar o SQL pelo sintoma, mas pelo visto tem algum detalhe por ai perdido :wink:

Vc esta dando commit após salvar este texto?
O primeiro texto gravou direto no banco ou via aplicação?

está inserindo corretamente,se a string não tiver %,quando eu ponho o sinal,gera um logo dizendo q n pode inserir valor null no banco.Tipo
“a análise foi concluida em um total de 10% …” é como se o % anulasse o texto válido.QUanto a postar o codigo,o que vc quer?Meu metodo insert no DAO?

tenta por 10%

[quote=DaniloAl.].QUanto a postar o codigo,o que vc quer?Meu metodo insert no DAO?
[/quote]

Exatamente.

% é um caracter especial no SQL na cláusula LIKE, mas em “insert” não deveria ser. Você usa String.format ? É que para String.format, o % é também um caracter especial.

segue meu insert

public long adicionar(ItemOrganizacaoModel aElementoOrganizacional)
			throws ConexaoException, AmbientExeception, AplicationException {
		Connection con = null;
		PreparedStatement statement = null;
		long identificador = 0;

		try {
			String sql = Query.getInstance(ConstanteIf.SQL_PROPERTIES)
					.getProperty("itemorganizacao.adicionar.insert");

			con = this.getConexao();
			statement = con.prepareStatement(sql);

			// identificador = Sequence.getNextValue(
			// con,NomeSequenceIf.SEQ_ELEMENTO_ORGANIZACIONAL).shortValue();
			// statement.setShort(1,identificador);
			statement.setByte(1, aElementoOrganizacional.getIdentificadorTipo()
					.byteValue());

			if (aElementoOrganizacional.getIdentificadorOrganizacional() == null) {
				statement.setNull(2, Types.INTEGER);
			} else {
				statement.setLong(2, aElementoOrganizacional
						.getIdentificadorOrganizacional().longValue());
			}

			statement.setLong(3, aElementoOrganizacional
					.getIdentificadorUniNegocio().longValue());

			statement.setString(4, aElementoOrganizacional.getNome());

			if (aElementoOrganizacional.getDescricao() == null
					|| aElementoOrganizacional.getDescricao().trim().length() <= 0) {
				statement.setNull(5, Types.VARCHAR);

			} else {
				statement.setString(5, aElementoOrganizacional.getDescricao());
			}

.
.
.