CAMPO INT NAO GRAVA
Estou desenvolvendo um sistema em vb 6 e banco sql server. Venho enfrentando um problema estranho, quando vou gravar em um campo int, recebo uma mensagem de que nao é possivel gravar neste campo. Alguém já enfrentou este tipo de problema?
atenciosamente,
atenciosamente,
Olá, o campo int é no SQL ou no VB6, lembre-se que os tipos de dados de ambos tem nomes parecidos, mas, são de tamanho diferente.
Se não for incompatibilidade de tipos de dados entre um e o outro, qual o erro que dá ?
Até,
Rogério.
Se não for incompatibilidade de tipos de dados entre um e o outro, qual o erro que dá ?
Até,
Rogério.
Manda o código para a gente tentar te ajudar.... Não precisa mandar tudo, só o momento em que vc cria o SQL
Obrigado pela atenção.Segue a parte do código que esta apresentando o problema:
if mblnInserindo Then
rs.AddNew
AtualizarCampos
rs.Update
MsgBox [Ô]Registro salvo com sucesso ![Ô]
rs.MoveFirst
Else
rs.Update
MsgBox [Ô]Registro alterado com sucesso ![Ô]
End If
AtualizarCampos
Private Sub AtualizarCampos()
With rs
If mblnInserindo Then
.Fields([Ô]CD_BAIRRO[Ô]) = CInt(lblCodigo.Caption)
End If
.Fields([Ô]DS_BAIRRO[Ô]) = txtBairro.Text
End With
End Sub
Olá, será que não é pelo fato de você não estar pegando somente o valor dos controles ?
Tipo : val(txtBairro), para colocar em um campo int ?
Verifique.
Até,
Rogério.
Tipo : val(txtBairro), para colocar em um campo int ?
Verifique.
Até,
Rogério.
Rogério, o unico campo que esta dando problema neste caso é o CD_BAIRRO, se lá no banco eu trocar Int por varChar funciona.
Então, dá a entender que Cint(lblCodigo.caption) não é inteiro.
O que você pode fazer é :
dim intValor as integer
intValor=CInt(lblCodigo.Caption)
.Fields([Ô]CD_BAIRRO[Ô]) = intValor
Tente assim.
Rogério.
O que você pode fazer é :
dim intValor as integer
intValor=CInt(lblCodigo.Caption)
.Fields([Ô]CD_BAIRRO[Ô]) = intValor
Tente assim.
Rogério.
Oi Rogério, eu já tentei fazer isso antes...rs, não sei mais o que fazer.
Ps: O CInt já nao força o campo a ser inteiro?
Obrigado
Ps: O CInt já nao força o campo a ser inteiro?
Obrigado
Pergunta besta: como é um ADDNEW, vc tem certeza que o lblcodigo é um código novo na tabela?
Não é um código repetido pois, pelo que parece, ele é chave primária?
Não é um código repetido pois, pelo que parece, ele é chave primária?
O campos CD_BAIRR é sim uma chave primária.
Olá, deve estar estourando o valor, verifique se o valor está entre -32,768 até 32,767, se não estiver dentro deste range, dá erro.
Pois, o [Ô]CInt[Ô] converte somente entre os valores acima.
Até,
Rogério.
Pois, o [Ô]CInt[Ô] converte somente entre os valores acima.
Até,
Rogério.
Tópico encerrado , respostas não são mais permitidas