Usuário com melhor resposta
ERROR CONVERTING DATA TYPE VARCHAR TO NUMERIC.

Pergunta
-
Boa tarde.
Tenho instalado o SQL Server 2008 R2 em português (language) e estou com problema para realizar o INSERT (via aplicação) em uma determinada tabela com DATA. Segue abaixo a estrutura da tabela e o erro durante a execução:
tabela
- empresa char(02) not null
- lista decimal(4,0) not null
- tip_lista char(01) not null
- descricao char(15)
- data_inicio datetime not null
- data_fim datetime not null
- indicador 1 char(01) not null
- indicador 2 char(01) not null
- indicador 3 char(01)
- cod_moeda decimal(4,0)
NATIVE ERROR: 8114 - [MICROSOFT][ODBC SQL SERVER DRIVER][SQL SERVER]ERROR CONVERTING DATA TYPE VARCHAR TO NUMERIC. NAME_FGL:VAR_INSERT
COMMAND: INSERT INTO tabela VALUES ('01',1,'E','PADRAO','20140101','20141231','N','N','N','')
Já tentei com diversos formatos de data, mas sem sucesso. Ao tentar com '2014-01-01', apareceu o erro 242 (também de conversão).
OBS.: Via Banco de Dados, não ocorre o erro no INSERT.
O que posso fazer? Pode ser configuração? Compilador?
Respostas
-
Boa tarde,
Desconfio que o problema está no valor fornecido para a coluna cod_moeda, já que a mesma é do tipo decimal e o valor fornecido é uma string vazia.
Experimente uma das formas abaixo:
INSERT INTO tabela VALUES ('01', 1, 'E', 'PADRAO', '20140101', '20141231', 'N', 'N', 'N', 0)
ou
INSERT INTO tabela VALUES ('01', 1, 'E', 'PADRAO', '20140101', '20141231', 'N', 'N', 'N', null)
ou
INSERT INTO tabela VALUES ('01', 1, 'E', 'PADRAO', '20140101', '20141231', 'N', 'N', 'N')
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Durval RamosModerator terça-feira, 14 de outubro de 2014 11:12
Todas as Respostas
-
Boa tarde,
Desconfio que o problema está no valor fornecido para a coluna cod_moeda, já que a mesma é do tipo decimal e o valor fornecido é uma string vazia.
Experimente uma das formas abaixo:
INSERT INTO tabela VALUES ('01', 1, 'E', 'PADRAO', '20140101', '20141231', 'N', 'N', 'N', 0)
ou
INSERT INTO tabela VALUES ('01', 1, 'E', 'PADRAO', '20140101', '20141231', 'N', 'N', 'N', null)
ou
INSERT INTO tabela VALUES ('01', 1, 'E', 'PADRAO', '20140101', '20141231', 'N', 'N', 'N')
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Durval RamosModerator terça-feira, 14 de outubro de 2014 11:12
-
tbm vi isso. e outra coisa q tbm vc pode tentar
string sql = "INSERT INTO Aluno(nome, endereco, numero, RG) VALUES (@nome, @endereco, @numero, @RG)";
vc nao informou os campos que teriam inserçao -