Página 1 de 1

Sustituir Seek

Publicado: Jue Jul 05, 2007 8:28 am
por Paco V
Como podria sustituir esto para MySQL?
Se trata de comprobar si existe el valor ::oMatri
METHOD MiraExisMat( oSender, oNextCtl ) CLASS PERSODAT
if ::oParent:oDbfDataSet1:seek(::oMatri:value )
msginfo("ESTA")
endif
RETURN Nil
Gracias.
Paco V

Sustituir Seek

Publicado: Jue Jul 05, 2007 9:15 am
por jasm
Si no está en la consulta actual tendrás que hacer una consulta para
comprobarlo y para mantener el dataset actual tendrás que crear otro
dataset para hacer la comprobación.
Saludos
Jose A. Suarez
Paco V escribió:
> Como podria sustituir esto para MySQL?
> Se trata de comprobar si existe el valor ::oMatri
>
> METHOD MiraExisMat( oSender, oNextCtl ) CLASS PERSODAT
> if ::oParent:oDbfDataSet1:seek(::oMatri:value )
> msginfo("ESTA")
> endif
> RETURN Nil
>
> Gracias.
>
> Paco V

Sustituir Seek

Publicado: Jue Jul 05, 2007 9:29 am
por zeasoftware
Yo lo hice sobrecargandolo en TSQLQuery y TSQLTable ya que no existe dicho metodo, no se si sera la forma optima, pero me funciona, de igual manera estoy haciendo varios metodos que daban facilidad de uso con las DBF.
//---------------------------------------------------------- ----------------
METHOD Seek( xValue, lSoftSeek, lLast, lError, lAll )
LOCAL lSuccess
LOCAL aTemp
LOCAL cTable
Local cSelect := "SELECT "
If ( xValue == Nil )
Return ( .f. )
End
cTable := zStrNoBorders(::cTable) //nombre de la [Tabla] la cual asigno al crear el TSQLQuery
xValue := AllTrim(xValue)
cSelect += ::cSQLTag //Este lo tomo de OrdSetFocus(), que le he reescrito
cSelect += " FROM " + cTable
cSelect += " WHERE " + ::cSQLTag + " = '" + xValue + "'"
aTemp := AppData:oDataSource:QueryRow(cSelect)
lSuccess := !Empty(aTemp)
Return ( lSuccess )
Espero te sirva y si alguien lo mejora, por favor, ilumenenos a todos.
Igual he reescrito el Filter, SaveToArray, SetScope.... todos para trabajar con SQL.
Saludos.
--
Ramon Zea
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoftware/
--