Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Did SPT changed behavior from VFP 6 to VFP 8?
Message
De
30/07/2003 13:33:10
 
 
À
30/07/2003 13:13:21
Information générale
Forum:
Visual FoxPro
Catégorie:
Client/serveur
Divers
Thread ID:
00815000
Message ID:
00815011
Vues:
13
>Hi,
>
>I have the following sequence, that worked ok in VFP 6. The case here is that the SQL Select, while still in execution, could be interrupted if the user pressed the "esc" key (and it worked in version 6), now it doesn't.
>
>Any idea?



Hi Fernando,

How exactly it doesn't work? What happens? What do you expect?
Take a look into thread #766577, it may answer the question.

Thanks,
Aleksey.






>
> Procedure ExecSelectSQL
>*          -------------
>           SendMessage ("Executing SQL command... (press <Esc> to interrupt)")
>
>           Set Message To
>           Set Cursor  Off
>           Set Talk    On
>
>           CursorSetProp ("FetchSize", 100          ,  0 )
>           SQLSetProp    (gSQLHandle, "Asynchronous", .T.)
>
>           bInterrupted = .F.
>
>           Do While SQLExec (gSQLHandle) = 0
>
>              If InKey (.001) = 27
>                 If MessageBox ("Do you want to stop executing SQL command ?", ;
>                    (4+48+256), cCaption) = 7
>                    Loop
>                 endif
>                 SqlCancel (gSQLHandle)
>                 bInterrupted = .T.
>                 Exit
>              endif
>
>           EndDo
>
>           Set Talk Off
>
>           CursorSetProp ("FetchSize", 300          ,  0 )
>           SQLSetProp    (gSQLHandle, "Asynchronous", .F.)
>
>           Clear TypeAhead
>           Set   Talk    Off
>           Set   Cursor  On
>
>*          ----------------------------------------------------------------------
>*                           Término da Execução do Comando SQL
>*          ----------------------------------------------------------------------
>
>           ClearMessage ()
>
>           gLastSQLcommand = gUserSQLcommand
>
>           ?? Chr (7)
>
>           If ! Used ("SQLcurSelect")
>              nRecords = 0
>              Set Message To " Resulting record set has " + lTrim (Transform (nRecords, ;
>                             "999,999,999")) + " rows" + IIf (bInterrupted, ;
>                             " (Query interrupted)", "")
>              ThisForm.edtSQLstring.SetFocus ()
>              Return
>           endif
>
>           ThisForm.cmdBrowse.Enabled  = .T.
>           ThisForm.cmdExport.Enabled  = .T.
>           ThisForm.cmdLastSQL.Enabled = .T.
>
>           Select SQLcurSelect
>
>           nRecords = RecCount ()
>
>           Set Message To " Resulting record set has " + lTrim (Transform (nRecords, ;
>                          "999,999,999")) + " rows" + ;
>                          IIf (bInterrupted, " (Query interrupted)", "")
>
>           If nRecords > 0
>              If MessageBox ("Do you want to browse the resulting record set ?", ;
>                             (4+48+256), cCaption) = 6
>              SQLexecBrowse ()
>              endif
>           endif
>
>           ThisForm.edtSQLstring.SetFocus ()
> EndProc
>
>Previously to executing the above method, the folowing sequence was executed:
>
>
>           SendMessage ("Executing SQL command...")
>
>           SqlSetProp (gSQLHandle, "Asynchronous", .F.)
>           SqlSetProp (gSQLHandle, "QueryTimeOut", 300)
>
>           If SqlPrepare (gSQLHandle, gObjtSQLcommand, "SQLcurSelect") <> 1
>              ClearMessage ()
>              aError  (SqlErrorTab)
>              MessageBox (Chr (9) + "SQL command error " + ;
>                                    Transform (SqlErrorTab [1], "@L 9999") + ;
>                                    ", during compilation." + Chr (13) + Chr (13) + ;
>                                    "Message: " + AllTrim (SqlErrorTab [2]), ;
>                                    (0+16+0), cCaption)
>              ThisForm.edtSQLstring.SetFocus ()
>              Return
>           endif
>
>TIA,
>
>Fernando
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform