INDICE E SEEK NO MYSQL

GOLVEIAR 28/06/2011 12:37:41
#377936
Ola galera do vbMania Blz! Estou com um problema. Estou tentando conectar em um db Mysql da seguinte forma:
Global Conexao As New ADODB.Connection
Global TbUsuarios As New ADODB.Recordset

Public Function ConectaAoDBCadastros()
Dim strConexao As String
[ô]Ligação com Banco de Dados
strConexao = [Ô]DRIVER={MySQL ODBC 5.1 Driver};[Ô]
strConexao = strConexao & [Ô]SERVER=localhost;[Ô]
strConexao = strConexao & [Ô]USER=root;[Ô]
strConexao = strConexao & [Ô]PWD=minhasenha;[Ô]
strConexao = strConexao & [Ô]database=meudb[Ô]
Conexao.Open strConexao [ô]Abre o Banco de Dados
Conexao.CursorLocation = adUseClient
End Function

Sub ConectaaTabelaUsuario()
[ô]Conecta a tabela Usuario
TbUsuarios.Open [Ô]Select * from Usuarios[Ô], Conexao, adOpenKeyset, adLockOptimistic
TbUsuarios.Index = [Ô]indice[Ô]
TbUsuarios.Seek [Ô]=[Ô], Val(lstUsuario.ItemData(lstUsuario.ListIndex))
End Sub

ta retornado um erro
run-time error [Ô]3251[Ô]
o provedor atual não oferece suportepara a interface necessaria
à funcionalidade Índice
o que eu faço para isso funcionar alguem pode me ajudar. desde já agradeço
LLAIA 28/06/2011 13:30:51
#377939
O provider não suporta o uso de índices desta forma. Tente assim:

Sub ConectaaTabelaUsuario()
[ô]Conecta a tabela Usuario
TbUsuarios.Open [Ô]Select * from Usuarios[Ô], Conexao, adOpenKeyset, adLockOptimistic
TbUsuarios.Find [Ô]=[Ô] & Val(lstUsuario.ItemData(lstUsuario.ListIndex))
End Sub


HIDDEN 28/06/2011 18:30:13
#377979
Não da para usar indice abrindo o recordset como adOpenStatic e nem utilizando instrução SQL. Tente assim:

TbUsuarios.Open [Ô]Usuarios[Ô], Conexao, adOpenDynamic, adLockOptimistic
GOLVEIAR 06/07/2011 08:36:00
#378564
Caro HIDDEN Obrigado pela resposta mas deu o mesmo erro.
o provedor atual não oferece suportepara a interface necessaria
à funcionalidade Índice.


e no exemplo do amigo LLAIA
Sub ConectaaTabelaUsuario()
[ô]Conecta a tabela Usuario
TbUsuarios.Open [Ô]Select * from Usuarios[Ô], Conexao, adOpenKeyset, adLockOptimistic
TbUsuarios.Find [Ô]=[Ô] & Val(lstUsuario.ItemData(lstUsuario.ListIndex))
End Sub
deu o erro invalid property array index erro 381.

Desde ja agradeço as repostas.
MARCELO.TREZE 06/07/2011 10:28:59
#378575
olha porque vc não usa a propria query

TbUsuarios.Open [Ô]Select * from Usuarios WHERE usuario = [ô][Ô] & Val(lstUsuario.ItemData(lstUsuario.ListIndex)) & [Ô][ô][Ô], Conexao, adOpenKeyset, adLockOptimistic
Tópico encerrado , respostas não são mais permitidas