RUN-TIME ERROR [ô]-2147467259 (80004005)[ô]:
Pessoal tenho um projeto vb6 com mysql estava gerando orçamento normal começou aparecer a seguinte mensagem: O provedor de dados ou outro serviço retornou um status E_FAIL. Mas tem hora que roda normal sem erro. Alguém pode me ajudar.
colega este é um problema de rede, o servidor esta em uma rede local ou remota? onde está o servidor a porta 3306 está desbloqueada, verifique estas permissões do firewall, ou até mesmo a estrutura da rede
rede local
esqueci de perguntar como o computador se conecta a rede, é por fio ou WiFi, se for WiFi ja vi casos, que a frequência de um telefone sem fio influenciava no roteador WiFi, e toda vez que o telefone tocava derrubava a rede.
Pessoal já postei este problema , porém eu talvez não tenha sido muito explÃcito no assunto. é o seguinte possuo um banco de dados MYSQL com aproximadamente 10 tabelas, porém uma Tabela [Ô]OrcamentoCab[Ô] não funciona corretamente. Já exclui ela e remontei novamente e continua o problema:
Quando utilizo os comandos:
TabOrcamentocab.MoveLast
O sistema sempre me retorna dizendo que o provedor de dados retornou um status E_FAIL
Quando utilizo os comandos:
TabOrcamentocab.MoveLast
O sistema sempre me retorna dizendo que o provedor de dados retornou um status E_FAIL
colega posta como você está fazendo a conexão e estrutura da tabela, ja que o problema é em uma tabela pontual, porém eu ja adianto usando querys nunca tive problemas.
Private Function GravaCab()
Dim vDataVenda As String
Dim vTotalVenda As String
Dim vDesc As String
[ô]Tratamento das variáveis para inserção na instrução SQL
vDataVenda = Format(txtData.Text, [Ô]yyyy-mm-dd[Ô])
vTotalVenda = Replace(lblTotal.Caption, [Ô].[Ô], [Ô][Ô])
vTotalVenda = Replace(vTotalVenda, [Ô],[Ô], [Ô].[Ô])
vDesc = Replace(LblDesconto.Caption, [Ô].[Ô], [Ô][Ô])
vDesc = Replace(vDesc, [Ô],[Ô], [Ô].[Ô])
[ô] Função para a gravação de um novo registro na tabela Orçamento Cabeçalho
SQLOrcamentoCab = [Ô]Insert into ORCAMENTO_CAB (ID_CLIENTE, DATA_ORCAMENTO ,DESCONTO, VLR_TOTAL)[Ô] _
& [Ô]Values([ô][Ô] & txtCliente.Text & [Ô][ô],[ô][Ô] _
& vDataVenda & [Ô][ô],[ô][Ô] _
& vDesc & [Ô][ô],[ô][Ô] _
& vTotalVenda & [Ô][ô])[Ô]
Conexao.Execute SQLOrcamentoCab
TabOrcamentocab.Requery
TabOrcamentocab.MoveLast
[ô] Atribui a caixa de texto o código do Orçamento recém gravada.
txtCodVenda.Text = TabOrcamentocab.Fields([Ô]ID[Ô])
End Function
**************************************************************************************************************************
Os códigos abaixo esta no menu principal
Private Sub Form_Load()
Caption = Caption & [Ô] [Ô] & Date [ô]& [Ô] [Ô] & Time
[ô]Abrir conexão com o banco de dados MYSQL
Set Conexao = New ADODB.Connection
Conexao.Open [Ô]driver=MySQL ODBC 3.51 Driver;server=localhost;[Ô] _
& [Ô]uid=root;pwd=*******;database=dados_oficina[Ô]
[ô]Rotina com a função de criar as tabelas caso não existir
CriaTabelas
[ô]Rotina com a função de abrir todas as tabelas para manipulação
AbreTabelas
Exit Sub
End Sub
*************************************************************************************************************************
Private Function CriaTabelas()
[ô]Instrução Sql para criação da tabela de Orçamento Cabeçalho
SQLOrcamentoCab = [Ô]CREATE TABLE IF NOT EXISTS 'ORCAMENTO_CAB' ([Ô] _
& [Ô]'ID'integer NOT NULL AUTO_INCREMENT, [Ô] _
& [Ô]'ID_CLIENTE' integer NOT NULL, [Ô] _
& [Ô]'DATA_ORCAMENTO' date NULL, [Ô] _
& [Ô]'VLR_TOTAL' decimal (6,2) NOT NULL, [Ô] _
& [Ô]'DESCONTO' decimal (6,2) NOT NULL, [Ô] _
& [Ô]PRIMARY KEY ('ID'))[Ô]
Conexao.Execute SQLOrcamentoCab
End Function
**************************************************************************************************************************
Private Function AbreTabelas()
[ô]Abre tabela de Orçamento Cabeçalho para manipulação e consulta.
Set TabOrcamentocab = New ADODB.Recordset
SQLOrcamentoCab = [Ô]Select * from ORCAMENTO_CAB[Ô]
TabOrcamentocab.CursorLocation = adUseClient
TabOrcamentocab.Open SQLOrcamentoCab, Conexao, adOpenStatic, adLockBatchOptimistic, adCmdText
End Function
*****************************************************************************************************************************
MODULO
[ô]Declaração das variaveis de conexões com banco Mysql
Public Conexao As ADODB.Connection
Public TabOrcamentocab As ADODB.Recordset
[ô]Declaração de Variaveis para relatórios
Public Consulta As New ADODB.Recordset
Public Comando As New ADODB.Command
[ô]Declaração das variaveis string para expressões em SQL
Public SQLOrcamentoCab As String
Dim vDataVenda As String
Dim vTotalVenda As String
Dim vDesc As String
[ô]Tratamento das variáveis para inserção na instrução SQL
vDataVenda = Format(txtData.Text, [Ô]yyyy-mm-dd[Ô])
vTotalVenda = Replace(lblTotal.Caption, [Ô].[Ô], [Ô][Ô])
vTotalVenda = Replace(vTotalVenda, [Ô],[Ô], [Ô].[Ô])
vDesc = Replace(LblDesconto.Caption, [Ô].[Ô], [Ô][Ô])
vDesc = Replace(vDesc, [Ô],[Ô], [Ô].[Ô])
[ô] Função para a gravação de um novo registro na tabela Orçamento Cabeçalho
SQLOrcamentoCab = [Ô]Insert into ORCAMENTO_CAB (ID_CLIENTE, DATA_ORCAMENTO ,DESCONTO, VLR_TOTAL)[Ô] _
& [Ô]Values([ô][Ô] & txtCliente.Text & [Ô][ô],[ô][Ô] _
& vDataVenda & [Ô][ô],[ô][Ô] _
& vDesc & [Ô][ô],[ô][Ô] _
& vTotalVenda & [Ô][ô])[Ô]
Conexao.Execute SQLOrcamentoCab
TabOrcamentocab.Requery
TabOrcamentocab.MoveLast
[ô] Atribui a caixa de texto o código do Orçamento recém gravada.
txtCodVenda.Text = TabOrcamentocab.Fields([Ô]ID[Ô])
End Function
**************************************************************************************************************************
Os códigos abaixo esta no menu principal
Private Sub Form_Load()
Caption = Caption & [Ô] [Ô] & Date [ô]& [Ô] [Ô] & Time
[ô]Abrir conexão com o banco de dados MYSQL
Set Conexao = New ADODB.Connection
Conexao.Open [Ô]driver=MySQL ODBC 3.51 Driver;server=localhost;[Ô] _
& [Ô]uid=root;pwd=*******;database=dados_oficina[Ô]
[ô]Rotina com a função de criar as tabelas caso não existir
CriaTabelas
[ô]Rotina com a função de abrir todas as tabelas para manipulação
AbreTabelas
Exit Sub
End Sub
*************************************************************************************************************************
Private Function CriaTabelas()
[ô]Instrução Sql para criação da tabela de Orçamento Cabeçalho
SQLOrcamentoCab = [Ô]CREATE TABLE IF NOT EXISTS 'ORCAMENTO_CAB' ([Ô] _
& [Ô]'ID'integer NOT NULL AUTO_INCREMENT, [Ô] _
& [Ô]'ID_CLIENTE' integer NOT NULL, [Ô] _
& [Ô]'DATA_ORCAMENTO' date NULL, [Ô] _
& [Ô]'VLR_TOTAL' decimal (6,2) NOT NULL, [Ô] _
& [Ô]'DESCONTO' decimal (6,2) NOT NULL, [Ô] _
& [Ô]PRIMARY KEY ('ID'))[Ô]
Conexao.Execute SQLOrcamentoCab
End Function
**************************************************************************************************************************
Private Function AbreTabelas()
[ô]Abre tabela de Orçamento Cabeçalho para manipulação e consulta.
Set TabOrcamentocab = New ADODB.Recordset
SQLOrcamentoCab = [Ô]Select * from ORCAMENTO_CAB[Ô]
TabOrcamentocab.CursorLocation = adUseClient
TabOrcamentocab.Open SQLOrcamentoCab, Conexao, adOpenStatic, adLockBatchOptimistic, adCmdText
End Function
*****************************************************************************************************************************
MODULO
[ô]Declaração das variaveis de conexões com banco Mysql
Public Conexao As ADODB.Connection
Public TabOrcamentocab As ADODB.Recordset
[ô]Declaração de Variaveis para relatórios
Public Consulta As New ADODB.Recordset
Public Comando As New ADODB.Command
[ô]Declaração das variaveis string para expressões em SQL
Public SQLOrcamentoCab As String
tenta mudar só o cursor
veja
abOrcamentocab.Open SQLOrcamentoCab, Conexao, adOpenStatic, [txt-color=#0000f0]adLockBatchOptimistic[/txt-color], adCmdText
para
abOrcamentocab.Open SQLOrcamentoCab, Conexao, adOpenStatic, [txt-color=#8A2BE2]adOpenKeyset[/txt-color], adCmdText
veja
abOrcamentocab.Open SQLOrcamentoCab, Conexao, adOpenStatic, [txt-color=#0000f0]adLockBatchOptimistic[/txt-color], adCmdText
para
abOrcamentocab.Open SQLOrcamentoCab, Conexao, adOpenStatic, [txt-color=#8A2BE2]adOpenKeyset[/txt-color], adCmdText
ainda continua a mesmo erro na linha TabOrcamentocab.MoveLast
Help!!!!
Testei seu código aqui mas usando SqlServer.
Não apresentou erro no MoveLast.
Não está fechando a tabela?
Não apresentou erro no MoveLast.
Não está fechando a tabela?
Faça seu login para responder