Ir para conteúdo
Fórum Script Brasil
  • 0

Error Converting Data Type Varchar To Float


mulderx

Pergunta

Olá gente!!

Estou com um probleminha no meu formulário com banco em SQl Server ... quando eu mando inserir, ele dá esse erro:

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)

[Microsoft][ODBC SQL Server Driver]

[SQL Server]Error converting data type varchar to float.
/solbrilho/representantes/atualizador/clientes_inserido.asp, line 45


o que pode ser, pois as tabelas do meu banco estão em float, para entrada de valores com vírgula, mas quando eu testo, ele funciona com ponto ao invés da virgula!!!! Aí vai o código do arquivo inserir.asp pra vocês darem uma olhada!

<%
Dim var_razao_social, var_endereco, var_bairro, var_cep, var_cidade, var_uf, var_fone, var_cnpj, var_ie, var_cond_pgto, var_transportador, var_frete, var_tabela, var_produto_para, var_desconto, var_ipi, var_st

var_razao_social = request.form("razao_social")
var_endereco = request.form("endereco")
var_bairro = request.form("bairro")
var_cep = request.form("cep")
var_cidade = request.form("cidade")
var_uf = request.form("uf")
var_fone = request.form("fone")
var_cnpj = request.form("cnpj")
var_ie = request.form("ie")
var_cond_pgto = request.form("cond_pgto")
var_transportador = request.form("transportador")
var_frete = request.form("frete")
var_tabela = request.form("tabela")
var_produto_para = request.form("produto_para")
var_desconto = request.form("desconto")
var_ipi = request.form("ipi")
var_st = request.form("st")

var_razao_social = replace(var_razao_social, "'", "''")
var_endereco = replace(var_endereco, "'", "''")
var_bairro = replace(var_bairro, "'", "''")
var_cep = replace(var_cep, "'", "''")
var_cidade = replace(var_cidade, "'", "''")
var_uf = replace(var_uf, "'", "''")
var_fone = replace(var_fone, "'", "''")
var_cnpj = replace(var_cnpj, "'", "''")
var_ie = replace(var_ie, "'", "''")
var_cond_pgto = replace(var_cond_pgto, "'", "''")
var_transportador = replace(var_transportador, "'", "''")
var_frete = replace(var_frete, "'", "''")
var_tabela = replace(var_tabela, "'", "''")
var_produto_para = replace(var_produto_para, "'", "''")
var_desconto = formatNumber(var_desconto,2)
var_ipi = formatNumber(var_ipi,2)
var_st = formatNumber(var_st,2)

sql_clientes = "INSERT INTO Clientes(RazaoSocial, Endereco, Bairro, Cidade, UF, CEP, CNPJ, IE, CondPgto, Desconto, Fone, Frete, Transportador, Tabela, ProdutoPara, IPI, ST) VALUES ('"&var_razao_social&"','"&var_endereco&"','"&var_bairro&"','"&var_cidade&"','"&var_uf&"','"&var_cep&"','"&var_cnpj&"','"&var_ie&"','"&var_cond_pgto&"','"&var_desconto&"','"&var_fone&"','"&var_frete&"','"&var_transportador&"','"&var_tabela&"','"&var_produto_para&"','"&var_ipi&"','"&var_st&"')"
Set rs_cliente = Server.CreateObject("ADODB.RecordSet")
rs_cliente.Open sql_clientes, conexao, 1, 3

%>

fico no aguardo!!

Valeuuuuu

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
flood?? mas eu não fiz nada .. cliquei uma vez pra postar, e ele apareceu 3 vezes o mesmo post, não sei por quê!!!! sad.gif

No stress quanto à isso.

Pode ter acontecido algum erro no forum, pois essa versao que estamos usando possui alguns bugs, hehe.

Mas sempre que vocês notarem que algo esquisito aconteceu, ou se a mensagem foi 2 vezes.. mandem PM pra algum moderador da seção, que eles excluem, ou fazem o que tem que ser feito.

Voltando à duvida..

Os campos do seu banco estao setados como que tipo?

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, meu problema é o seguinte:

os campos do meu banco estão setados como "float", e no meu formulário de inserção de dados, quando eu digito um valor com vírgula, ele dá esse erro aí embaixo:

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)

[Microsoft][ODBC SQL Server Driver][sql Server]Error converting data type varchar to float.

é estranho, pois quando eu digito os valores direto lá no banco, ele aceita numa boa com vírgula, assim como meu formulário de modificação em ASP tb funciona ... o bug é mesmo quando eu mando inserir um dado novo, com vírgula ..... quando eu coloco o valor com ponto, ele funciona numa boa, mas eu queria que fosse digitado com virgula ....

sad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

acho queta dando problemas porque quando você coloca a virgula, ele deve interpretar como String!

então, tente ver se você consegue converter pra inteiro, antes de mandar pro banco..

ou dá uma olhada na lista de funções, e veja se tem alguma que converta para o tipo que você quer.

Ou, então, veja a função Format Number, e veja se ela tem algo parecido.

Se não achar nada, fala ae que a gente olha tb

Ou espera, quem sabe alguém saiba um modo melhor

t+

Link para o comentário
Compartilhar em outros sites

  • 0

puxa vida .. tá confuso o negócio mesmo!!! sad.gifsad.gif

nem com esses comandos

var_desconto = replace(var_desconto,".",",")

var_desconto = replace(var_desconto,",",".")

eu consigo gravar no banco ... dá o mesmo erro!!!

sinceramente não sei o que fazer .. já vi as configurações regionais e tá tudo em ordem!!

ph34r.gifph34r.gif

Link para o comentário
Compartilhar em outros sites

  • 0

tenta assim:

<%
Dim var_razao_social, var_endereco, var_bairro, var_cep, var_cidade, var_uf, var_fone, var_cnpj, var_ie, var_cond_pgto, var_transportador, var_frete, var_tabela, var_produto_para, var_desconto, var_ipi, var_st

var_razao_social = replace(request.form("razao_social"), "'", "''")
var_endereco = replace(request.form("endereco"), "'", "''")
var_bairro = replace(request.form("bairro"), "'", "''")
var_cep = replace(request.form("cep"), "'", "''")
var_cidade = replace(request.form("cidade"), "'", "''")
var_uf = replace(request.form("uf"), "'", "''")
var_fone = replace(request.form("fone"), "'", "''")
var_cnpj = replace(request.form("cnpj"), "'", "''")
var_ie = replace(request.form("ie"), "'", "''")
var_cond_pgto = replace(request.form("cond_pgto"), "'", "''")
var_transportador = replace(request.form("transportador"), "'", "''")
var_frete = replace(request.form("frete"), "'", "''")
var_tabela = replace(request.form("tabela"), "'", "''")
var_produto_para = replace(request.form("produto_para"), "'", "''")
var_desconto = formatNumber(request.form("desconto"),2)
var_ipi = formatNumber(request.form("ipi"),2)
var_st = formatNumber(request.form("st"),2)

sql_clientes = "INSERT INTO Clientes(RazaoSocial, Endereco, Bairro, Cidade, UF, CEP, CNPJ, IE, CondPgto, Desconto, Fone, Frete, Transportador, Tabela, ProdutoPara, IPI, ST) VALUES ('"&var_razao_social&"','"&var_endereco&"','"&var_bairro&"','"&var_cidade&"','"&var_uf&"','"&var_cep&"','"&var_cnpj&"','"&var_ie&"','"&var_cond_pgto&"','"&var_desconto&"','"&var_fone&"','"&var_frete&"','"&var_transportador&"','"&var_tabela&"','"&var_produto_para&"','"&var_ipi&"','"&var_st&"')"
Set rs_cliente = Server.CreateObject("ADODB.RecordSet")
rs_cliente.Open sql_clientes, conexao, 1, 3

%>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...