VB6 X MYSQL INSERT E UPDATE
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!!!
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!!!
Mostre-nos a Query que gera esse erro...
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.
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.
Esse erro é comum no ADO. Ao invés de usar o update dessa maneira, use SQL normal.
sempre utilizei assim e nunca tive este problema, o My-SQL só não Esta sendo aceito aki!!!
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
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
Marcelo,
o tb.edit não é válido utilizando o ADODB.Recordset...
o tb.edit não é válido utilizando o ADODB.Recordset...
Quando vc clica em debug, em qual linha ele para ?
TB.Update
o Ultimo!!!
Tópico encerrado , respostas não são mais permitidas