... asimilar, mas facil es explicarte la tecnica ya que construyes la sentencia en una variable y despues lanzas el query oDbf := oApp:oServer:Query(cSelect) puedes crear la sentencia de esta forma cSelect = "SELECT * FROM table WHERE [WHERE]" despues sustituimos [WHERE] por lo que queramos.. ...
Amigo prueba asi Local cbusca:="" LOCAL cSelect:="ma_arti,ma_des1,ma_fami,ma_pcom,ma_flet,ma_comp,ma_desc1,ma_desc2,ma_desc3,sto_ok,bod_ini1,bod_ent1,bod_sal1,ma_con_com,ma_bloqueo" REDEFINE GET oGet VAR cBusca ID 101 OF oDlg UPDATE ...
... ),(PlisBuscar(nKey,@cExi_Suc,"exi_suc",nIndex[cVar],oLbx,@cbusca,cSelect),oLbx:Refresh(),oLbx:Refresh(),oGet:Refresh() ))} la funcion PLISBUSCAR *************************** FUNCTION PlisBuscar(nKey,oDatos,oTabla,oOrden,oLbx,cbusca,cSelect) ...
Amigo con esto es para la busqueda FUNCTION PlisBuscar(nKey,oDatos,oTabla,oOrden,oLbx,cbusca,cSelect) *----------------------------------------------------- Local cQuery,campo DEFAULT cSelect := "*" If nKey=8 cbusca:= SubStr(cbusca,1,Len(cbusca)-1) cQuery:="SELECT ...
... SOURCE", en este caso, ORACLE. Como solucionas el problema.... ? SIMPLE.. Create una funcion a la que le pases 1 parametro, el mismo cSelect con el que creas el recordset, esta funcion es muy muy rapida pues es solo un comando, o sea son solo 2 milisegundos Function Contar(cSelect) ...
... :Connect() END //Recordset. WITH OBJECT oRs := TSqlQuery():Create(o) Datasource := o :ncursorlocation := adUseClient :ncursortype := adOpenStatic :cSelect := "SELECT * FROM dbo.clientes" END oRs:Open() //Verify that the connection is open. IF !oRs:lOpen MsgInfo("Conexion error") ...
... END //Recordset. WITH OBJECT oRs := TSqlQuery():Create(o) :oDatasource := o :ncursorlocation := adUseClient :ncursortype := adOpenStatic :cSelect := "SELECT * FROM dbo.clientes" END oRs:Open() //Comprueba que la conexión está abierta. IF !oRs:lOpen MsgInfo("Error de conexión") ...
... :Connect() END WITH OBJECT oRs := TSqlQuery():Create( o ) :oDatasource := o :ncursorlocation := adUseClient :ncursortype := adOpenStatic :cSelect := "Select * FROM clientes" END oRs:Open() IF !oRs:lOpen MsgInfo("ERRRO") ENDIF ::cFicheroR := Memoread("Info.txt") ...
... de tal forma que puedo llamar a tAdoReg para cargar TODO el Registro sin equivocarme de llamar a otro. Yo no me preocuparia del tamaño del cSelect... al llamarse con limit 1 .. es practicamente instantaneo. Y hasta el momento con todas las pruebas que he hecho... nunca ha fallado.. y lo ...
... 3 // adLockOptimistic ::oDatos:CursorType := 1 // adOpenKeyset ::oDatos:Source:=cStatement ::oDatos:ActiveConnection:=::oConnect ::oDatos:Open() ::cSelect := cStatement Este dato ponlo como if dentro del bline ::oDatos:Fields:Count()
... textpegar:="VZfieldPut(nField,uValue)" CASE qvz=="VZFIELDGET" textpegar:="VZFieldGet(nField)" CASE qvz=="VZQUERY" textpegar:="VZQuery(cSelect,aStruLen,sStruDec)" CASE qvz=="VZDBSEEK" textpegar:="VZDBSEEK(aValores,aCampos,lhaydbf,fields,OBY,xStruLen,xStruDec,SUMARIO,NLIKE,LIMITE,WHERE ...
... textpegar:="VZfieldPut(nField,uValue)" CASE qvz=="VZFIELDGET" textpegar:="VZFieldGet(nField)" CASE qvz=="VZQUERY" textpegar:="VZQuery(cSelect,aStruLen,sStruDec)" CASE qvz=="VZDBSEEK" textpegar:="VZDBSEEK(aValores,aCampos,lhaydbf,fields,OBY,xStruLen,xStruDec,SUMARIO,NLIKE,LIMITE,WHERE ...