Jump to content
Fórum Script Brasil
  • 0

Error Converting Data Type Varchar To Float


mulderx

Question

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 to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...