VB6 X MYSQL INSERT E UPDATE

JLAUROSOUZA 05/10/2012 14:40:08
#411383
Amigos tenho um projeto em VB6 x SQL-Server e venho introduzindo o MySql no projeto, para utiliza tanto um como outro dependendo do cliente...
Bem, com o SQL nao venho tendo nenhum problema insiro, altero, etc, mais quando utilizo o MySQL em alguns momento nas tabelas nao consigo incluir nem alterar, aparece a mensagem de erro: [Ô]Comprimento Inválido de cadeias de caracteres ou de buffer[Ô].

Amigos, eu executo o forms e carrego atraves do MySQL e mesmo sem alterar nada, se eu clicar no botao Aplicar para da um Update do MySQL este erro aparece, Alguem pode me ajudar?

observe a imagem!!!
KERPLUNK 05/10/2012 18:23:48
#411411
Resposta escolhida
Mostre-nos a Query que gera esse erro...
JLAUROSOUZA 05/10/2012 19:00:19
#411417
Dim TB As ADODB.Recordset
Set TB = New ADODB.Recordset

If DriverConDB = [Ô]A[Ô] Then
TB.Source = [Ô]SELECT * FROM TB_ENTIDADE Where STATUS =[Ô] & 1 & [Ô][Ô]
Else
TB.Source = [Ô]SELECT * FROM TB_ENTIDADE Where STATUS =[ô][Ô] & 1 & [Ô][ô][Ô]
End If
TB.Open , cn, adOpenDynamic, adLockOptimistic
TB.Update
TB!NomeEmpresa = UCase(tRazao.Text)
TB!NOMEFANTASIA = Trim(UCase(tFantasia))
TB!CNPJ = Trim(mCNPJ)
TB!Inscricao = tInscricao
TB!Endereco = Trim(UCase(tEndereco))
TB!Numero = Trim(tNumero)
TB!cidade = Trim(UCase(tCidade))
TB!Bairro = Trim(UCase(tBairro))
TB!Complemento = Trim(UCase(tComplemento))
TB!UF = Trim(CUF)
TB!Cep = Trim(mCep)
TB!Fone1 = Trim(mFone1)
TB!Fone2 = Trim(mFone2)
TB!Fax = Trim(mFax)
TB!DataInicio = Trim(mDataInicial)
TB!IDfilial = [Ô]0[Ô]
TB!ativafilial = [Ô]0[Ô]
TB!Filial = [Ô]0[Ô]
TB!home = tHome
TB![e-mail] = tEmail
If CEntidadeAtiva.Value = 1 Then
TB!Status = [Ô]1[Ô]
Else
TB!Status = [Ô]0[Ô]
End If
TB!codoperador = xCódOperador
TB!nomeoperador = xNomeOperador
TB.Update


OBS: Este mesmo Código Executa sem Erro para o SQL-Server.

KERPLUNK 05/10/2012 19:06:53
#411419
Esse erro é comum no ADO. Ao invés de usar o update dessa maneira, use SQL normal.
JLAUROSOUZA 05/10/2012 19:09:04
#411420
sempre utilizei assim e nunca tive este problema, o My-SQL só não Esta sendo aceito aki!!!
MARCELO.TREZE 05/10/2012 20:16:34
#411428
tambem acho que uma query ficaria melhor, porém ser'[a que o erro não é na parte em azul

Dim TB As ADODB.Recordset
Set TB = New ADODB.Recordset

If DriverConDB = [Ô]A[Ô] Then
TB.Source = [Ô]SELECT * FROM TB_ENTIDADE Where STATUS =[Ô] & 1 & [Ô][Ô]
Else
TB.Source = [Ô]SELECT * FROM TB_ENTIDADE Where STATUS =[ô][Ô] & 1 & [Ô][ô][Ô]
End If
TB.Open , cn, adOpenDynamic, adLockOptimistic
[txt-color=#0000f0]TB.Edit[/txt-color][txt-color=#007100] [ô] aqui acredito que deva ser edit ao inves de update[/txt-color]
TB!NomeEmpresa = UCase(tRazao.Text)
TB!NOMEFANTASIA = Trim(UCase(tFantasia))
TB!CNPJ = Trim(mCNPJ)
TB!Inscricao = tInscricao
TB!Endereco = Trim(UCase(tEndereco))
TB!Numero = Trim(tNumero)
TB!cidade = Trim(UCase(tCidade))
TB!Bairro = Trim(UCase(tBairro))
TB!Complemento = Trim(UCase(tComplemento))
TB!UF = Trim(CUF)
TB!Cep = Trim(mCep)
TB!Fone1 = Trim(mFone1)
TB!Fone2 = Trim(mFone2)
TB!Fax = Trim(mFax)
TB!DataInicio = Trim(mDataInicial)
TB!IDfilial = [Ô]0[Ô]
TB!ativafilial = [Ô]0[Ô]
TB!Filial = [Ô]0[Ô]
TB!home = tHome
TB![e-mail] = tEmail
If CEntidadeAtiva.Value = 1 Then
TB!Status = [Ô]1[Ô]
Else
TB!Status = [Ô]0[Ô]
End If
TB!codoperador = xCódOperador
TB!nomeoperador = xNomeOperador
TB.Update
JLAUROSOUZA 05/10/2012 20:49:15
#411430
Marcelo,

o tb.edit não é válido utilizando o ADODB.Recordset...
NILSONTRES 05/10/2012 20:58:40
#411431
Quando vc clica em debug, em qual linha ele para ?
JLAUROSOUZA 05/10/2012 21:00:02
#411432


TB.Update

o Ultimo!!!

Tópico encerrado , respostas não são mais permitidas