#include "fivewin.ch"
//----------------------------------------------------------------------------//
function Main()
local oCn, oRs, nRecs
oCn := maria_Connect( "localhost", "fwh", "root","senha" ,,, )
oRs := oCn:RowSet( "select * from suporte ")
XBROWSER oRs TITLE "`Custbig` FASTEDIT
oRs:Close()
oCn:Close()
return nil
Poderia ser desta forma !
//----------------------------------------------------------------------------//
#include "fivewin.ch"
//----------------------------------------------------------------------------//
function Main()
local oCn, oRs, oDlg, oFont, oBrw
oCn := FW_DemoDB()
if oCn == nil
return nil
endif
oRs := oCn:RowSet( "SELECT ID,FIRST,CITY,SALARY FROM customer" )
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
DEFINE DIALOG oDlg SIZE 600,500 PIXEL TRUEPIXEL FONT oFont TITLE "MARIADB LOCKED EDIT"
@ 60,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg DATASOURCE oRs AUTOCOLS CELL LINES NOBORDER FASTEDIT
WITH OBJECT oBrw
:nEditTypes := EDIT_GET
:CreateFromCode()
END
@ 10,20 BTNBMP PROMPT "LockedEdit" SIZE 150,40 PIXEL OF oDlg FLAT ACTION LockedEdit( oBrw )
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
return nil
//----------------------------------------------------------------------------//
static function LockedEdit( oBrw )
local oRsMain, oRsEdit, oRec, nWait, oCn
oRsMain := oBrw:oDbf
oCn := oRsMain:oCn
nWait := oCn:QueryResult( "SHOW SESSION VARIABLES LIKE 'innodb_lock_wait_timeout'" )[ 2 ]
oCn:Execute( "SET SESSION innodb_lock_wait_timeout = 1" )
oCn:BeginTransaction()
MsgRun( "Reading Record", "WAIT", { || ;
oRsEdit := oCn:RowSet( "SELECT * FROM customer WHERE ID = ? FOR UPDATE", { oRsMain:ID } ) ;
} )
if oCn:nError == 0
oCn:Execute( "SET SESSION innodb_lock_wait_timeout = " + cValToChar( nWait ) )
oRec := TDataRow():New( oRsEdit )
oRec:Edit()
oCn:CommitTransaction()
oRsMain:ReSync()
oBrw:RefreshCurrent()
else
oCn:RollBack()
oCn:Execute( "SET SESSION innodb_lock_wait_timeout = " + cValToChar( nWait ) )
? "Record is locked by other user"
endif
oBrw:SetFocus()
return nil