Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ayuda ADO

Estas en el tema de Ayuda ADO en el foro de Visual Basic clásico en Foros del Web. Q tal soy nuevo por aca y tengo un problema, lo q psa es q estoy haciendo un diccionario pero no se como hacer una ...
  #1 (permalink)  
Antiguo 27/02/2008, 12:16
c0x
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Ayuda ADO

Q tal soy nuevo por aca y tengo un problema, lo q psa es q estoy haciendo un diccionario pero no se como hacer una consulta a la tabla por ejemplo
si busco la palabra perro como le hago para q el programa busq la palabra en la bd y me d la definicion

los campos q uso son term y def: term para la palabra a buscar y def para su definicion.

Espero q alguien me pueda ayudar pq no tengo ni idea de como ahcer esto
  #2 (permalink)  
Antiguo 27/02/2008, 14:56
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: Ayuda ADO

pues mira ... la consulta (la SQL) seria la siguiente:

"SELECT def FROM LaTabla WHERE term= ' " & LaPalabra & " ' "

claro está que para ejecutar la consulta has de tener la referencia ADO, abrir una conexión con el servidor y abrir un recorset para almacenar la información.

Si tienes problemas con eso dimelo y te ayudo.

saludos!
  #3 (permalink)  
Antiguo 27/02/2008, 15:29
c0x
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Ayuda ADO

Código:
Dim cox_nlx As ADODB.Connection
Dim cox_rds,  As ADODB.Recordset
Dim query_cx As String
Private Sub Command1_Click()
query_cx = "SELECT def FROM terminos WHERE term= ' " & Text1 & " ' "
cox_rds = cox_nlx.Execute(query_cx)
End Sub

Private Sub Form_Load()
Set cox_nlx = New Connection
Set cox_rds = New Recordset
cox_nlx.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=terms.accdb;Persist Security Info=False"
cox_nlx.Open
cox_rds.Open "terminos", cox_nlx, adOpenDynamic, adLockOptimistic
End Sub
Gracias por la respuesta extrem, pero ahora como le tendria q hacer para mostrar el resultado de la consulta en una textbox ¿se puede?

De antemano gracias

Última edición por c0x; 27/02/2008 a las 16:39
  #4 (permalink)  
Antiguo 27/02/2008, 15:47
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: Ayuda ADO

Yo lo haria de esta manera


Option explicit

Dim cox_nlx As ADODB.Connection
Dim cox_rds, As ADODB.Recordset
Dim query_cx As String


Private Sub Form_Load()
Set cox_nlx = New Connection
Set cox_rds = New Recordset
cox_nlx.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=terms.accdb;Persist Security Info=False"
cox_nlx.Open

Private Sub Command1_Click()
query_cx = "SELECT def FROM terminos WHERE term= ' " & Text1 & " ' "
cox_rds = query_cx, cox_nlx

text2.text = cox_rds("def")
End Sub

has de tener en cuenta que has de tener un textbox (llamado text1) donde pondrás la palabra a buscar y otro textbox (llamado text2) donde te mostrará la definición.

espero haberte ayudado.
  #5 (permalink)  
Antiguo 27/02/2008, 15:59
c0x
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Ayuda ADO

Me tira error en:
cox_rds = query_cx, cox_nlx

Syntax Error
  #6 (permalink)  
Antiguo 27/02/2008, 16:07
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: Ayuda ADO

perdona, vaya cagada jeejeje

pon esto: cox_rds.open query_cx, cox_nlx

esto te funcionará seguro.
  #7 (permalink)  
Antiguo 27/02/2008, 16:29
c0x
 
Fecha de Ingreso: febrero-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Ayuda ADO

otra vz yo aqui fregando, lo cambie y ahora me tira esto:
El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual
  #8 (permalink)  
Antiguo 28/02/2008, 02:32
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: Ayuda ADO

eso significa que no ha encontrado nada, ten en cuenta que la busqueda que te hace es EXACTA, si pones "manzana" solo buscará las que sean "manzana" y no encontrará "manzan" o "anzana" ok??

para controlar si está vacio el recordset haz lo siguiente:

'Esto mira que no esté vacio, si está vacio saldrá del proceso
if not(cox_rds.EOF and cox_rds.BOF) then

else
exit sub
end if
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:37.