CAMPO INT NAO GRAVA

AQUILESBRUM 14/09/2009 15:50:21
#322834
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,


MARCIO.ROGERIO 15/09/2009 11:37:51
#322923
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.
RCMRO 15/09/2009 12:23:39
#322928
Manda o código para a gente tentar te ajudar.... Não precisa mandar tudo, só o momento em que vc cria o SQL
AQUILESBRUM 15/09/2009 13:47:32
#322953
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
MARCIO.ROGERIO 15/09/2009 14:53:02
#322962
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.
AQUILESBRUM 15/09/2009 15:11:25
#322964
Rogério, o unico campo que esta dando problema neste caso é o CD_BAIRRO, se lá no banco eu trocar Int por varChar funciona.
MARCIO.ROGERIO 15/09/2009 15:19:08
#322966
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.
AQUILESBRUM 15/09/2009 16:23:47
#322969
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
RCMRO 15/09/2009 20:13:11
#322984
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?
AQUILESBRUM 15/09/2009 20:55:55
#322988
O campos CD_BAIRR é sim uma chave primária.
MARCIO.ROGERIO 16/09/2009 08:31:27
#323004
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.
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas