Run-time error ´-2147217887(80040e21)´: usando MySQL e VB
Banco de dados MySql com uma tabela Clientes
Conexão ODBC - MyODBC
FrontEnd - Visual Basic 6.0 - Estou utilizando o ADO.
Ao inserir registro nessa tabela, algumas vezes inclui o registro e algumas da o seguinte erro :
Run-time error ´-2147217887(80040e21)´:
Operação de várias etapas gerou erros. Verifique cada valor de status.
Alguém pode me ajudar ???
Agradeço
Mônica
Conexão ODBC - MyODBC
FrontEnd - Visual Basic 6.0 - Estou utilizando o ADO.
Ao inserir registro nessa tabela, algumas vezes inclui o registro e algumas da o seguinte erro :
Run-time error ´-2147217887(80040e21)´:
Operação de várias etapas gerou erros. Verifique cada valor de status.
Alguém pode me ajudar ???
Agradeço
Mônica
Nika
Curtidas 0
Respostas
Aroldo Zanela
05/03/2006
Colega,
Coloca um fragmento do código para que possamos analisar melhor. Você está usando DataEnvironment?
Bem, este tópico deverá ser bloqueado pela Moderação em face de não ser pertinente ao mesmo.
Coloque sua dúvida aqui: www.forumweb.com.br/foruns (Desenvolvimento -> Visual Basic)
Coloca um fragmento do código para que possamos analisar melhor. Você está usando DataEnvironment?
Bem, este tópico deverá ser bloqueado pela Moderação em face de não ser pertinente ao mesmo.
Coloque sua dúvida aqui: www.forumweb.com.br/foruns (Desenvolvimento -> Visual Basic)
GOSTEI 0
Cesarpir
05/03/2006
Oi nika bom dia, acho que o erro é ref. ao formato de data, se pudesse passar o código ajudaria, procurei na net tb e achei este link
http://vbmysql.com/forums/index.php?rid=0&t=msg&th=17231
Tente vê se ajuda !
T+
César
http://vbmysql.com/forums/index.php?rid=0&t=msg&th=17231
Tente vê se ajuda !
T+
César
GOSTEI 0
Nika
05/03/2006
Estou muito feliz por alguém ter me respondido algo. Segue o detalhamento de tudo oque fiz.
No MySQL fiz essa tabelinha para teste e no VISUAL BASIC os códigos abaixo descritos
*** MySQL
Tabela Clientes - InnoDB
Banco de dados Clientes
* Campos:
Codigo VARCHAR(5) Not Null
Nome VARCHAR(50)
Endereço VARCHAR(50)
Nascimento DATE
*** VISUAL BASIC 6.0
Option Explicit
Dim sql As String
Public myCon As New ADODB.Connection
Public myCmd As New ADODB.Command
Public myRs As New ADODB.Recordset
Ao ler o Formulário
Private Sub Form_Load()
On Error GoTo Error
sql = ´SELECT * FROM clientes´
myCon.Open ´DSN=mysqllocal´
With myCmd
Set .ActiveConnection = myCon
.CommandType = adCmdText
.CommandText = sql
End With
With myRs
.LockType = adLockPessimistic
.CursorType = adOpenKeyset
.CursorLocation = adUseClient
.Open myCmd
End With
myRs.MoveFirst
On Error GoTo 0
Form_Load_Exit:
Exit Sub
Error:
MsgBox Err.Number & vbCrLf & Err.Description, vbExclamation, ´Erro em [Form_Load]´
End Sub
Menu Incluir Novo Registro
Private Sub MnuNovo_Click()
On Error GoTo Error
TxtCodigo.Text = ´´
TxtNome.Text = ´´
TxtEndereco.Text = ´´
TxtNascimento.Text = ´´
myRs.MoveLast
myRs.AddNew
TxtCodigo.SetFocus
On Error GoTo 0
mnuincluiregistro_Exit:
Exit Sub
Error:
MsgBox Err.Description, vbExclamation, ´Erro em [mnuincluiregistro]´
End Sub
Botão Salvar
Private Sub BtnSalvar_Click()
myRs(´codigo´) = ´´ & TxtCodigo.Text
myRs(´nome´) = ´´ & TxtNome.Text
myRs(´endereco´) = ´´ & TxtEndereco.Text
´myRs(´nascimento´) = ´´ & TxtNascimento.Text
myRs.Update
End Sub
Botão Sair
Private Sub BtnSair_Click()
myRs.Close
myCon.Close
Set myCon = Nothing
Set myRs = Nothing
End
End Sub
Muito Grata,
No MySQL fiz essa tabelinha para teste e no VISUAL BASIC os códigos abaixo descritos
*** MySQL
Tabela Clientes - InnoDB
Banco de dados Clientes
* Campos:
Codigo VARCHAR(5) Not Null
Nome VARCHAR(50)
Endereço VARCHAR(50)
Nascimento DATE
*** VISUAL BASIC 6.0
Option Explicit
Dim sql As String
Public myCon As New ADODB.Connection
Public myCmd As New ADODB.Command
Public myRs As New ADODB.Recordset
Ao ler o Formulário
Private Sub Form_Load()
On Error GoTo Error
sql = ´SELECT * FROM clientes´
myCon.Open ´DSN=mysqllocal´
With myCmd
Set .ActiveConnection = myCon
.CommandType = adCmdText
.CommandText = sql
End With
With myRs
.LockType = adLockPessimistic
.CursorType = adOpenKeyset
.CursorLocation = adUseClient
.Open myCmd
End With
myRs.MoveFirst
On Error GoTo 0
Form_Load_Exit:
Exit Sub
Error:
MsgBox Err.Number & vbCrLf & Err.Description, vbExclamation, ´Erro em [Form_Load]´
End Sub
Menu Incluir Novo Registro
Private Sub MnuNovo_Click()
On Error GoTo Error
TxtCodigo.Text = ´´
TxtNome.Text = ´´
TxtEndereco.Text = ´´
TxtNascimento.Text = ´´
myRs.MoveLast
myRs.AddNew
TxtCodigo.SetFocus
On Error GoTo 0
mnuincluiregistro_Exit:
Exit Sub
Error:
MsgBox Err.Description, vbExclamation, ´Erro em [mnuincluiregistro]´
End Sub
Botão Salvar
Private Sub BtnSalvar_Click()
myRs(´codigo´) = ´´ & TxtCodigo.Text
myRs(´nome´) = ´´ & TxtNome.Text
myRs(´endereco´) = ´´ & TxtEndereco.Text
´myRs(´nascimento´) = ´´ & TxtNascimento.Text
myRs.Update
End Sub
Botão Sair
Private Sub BtnSair_Click()
myRs.Close
myCon.Close
Set myCon = Nothing
Set myRs = Nothing
End
End Sub
Muito Grata,
GOSTEI 0
Chitaogomes
05/03/2006
Bom dia
estou com a mesma dúvida sua e tendo este mesmo erro.
você conseguiu sanar este erro? se puder me add no msn: chitaogomes@hotmail.com
obrigado
estou com a mesma dúvida sua e tendo este mesmo erro.
você conseguiu sanar este erro? se puder me add no msn: chitaogomes@hotmail.com
obrigado
GOSTEI 0
Nika
05/03/2006
Então a resposta é a seguinte:
Esse erro dava quando tentava inserir um registro com 11 caracteres sendo que o formato para aquele campo no banco de dados era para 10, ou seja deve limitar os caracteres de entrada no vb de acordo com aquilo que formatou no banco de dados.
Espero ter ajudado
Esse erro dava quando tentava inserir um registro com 11 caracteres sendo que o formato para aquele campo no banco de dados era para 10, ou seja deve limitar os caracteres de entrada no vb de acordo com aquilo que formatou no banco de dados.
Espero ter ajudado
GOSTEI 0