SQL BROWSER with FIVEWIN + xBrowser
SQL BROWSER with FIVEWIN + xBrowser
Friends, I'm trying to create an internal SQL BROWSER with fivewin. The idea is that when you type QUERY and click RUN, the system loads the browse with the result. But I can't update the browser, could anyone help?
this function does not work:
static procedure PopulaBrowseQuery(cNotes, aResult)
local oData
oData := m->oserver:query( Alltrim(cNotes) )
aResult :=oData:FillArray()
s_oBrowse:setarray(aResult)
s_oBrowse:Refresh()
return
follow the source below:
prg:
#include "fivewin.ch"
#include "xbrowse.ch"
#include "ttitle.ch"
static s_oWndSqlBrowser := Nil, s_oFonteTitle, s_oFonteBold, s_oTitle, s_oBrowse, hLays := {=>}
/******************************************************************************************************/
procedure SQLBrowser()
/*
*/
Local cNotes := 'select * from produtos', oGet, aResult := {}, hButtons := {=>}, oBotao1, oBotao2
if !VerificaWindowsSQLBrowser()
return
endif
DEFINE FONT s_oFonteBold NAME "Times New Roman" SIZE 0,-15
DEFINE FONT s_oFonteTitle NAME "Segoe UI Light" SIZE 0, 32
define window s_oWndSqlBrowser mdichild of M->oWnd title "SQL Browser" color CLR_WHITE,CLR_WHITE
hLays["MAIN"] := TLayout():new( s_oWndSqlBrowser )
hLays["TITLE"] := hLays["MAIN"]:addVLayout(38)
hLays["GET"] := hLays["MAIN"]:addVLayout(120)
hLays["BROWSE"] := hLays["MAIN"]:addVLayout()
//TITLE
@ 0, 0 TITLE s_oTitle size 8, 10 of hLays["TITLE"] SHADOW NOSHADOW
@ 3, 10 TITLETEXT OF s_oTitle TEXT "SQL Browser" FONT s_oFonteTitle
s_oTitle:bGotfocus := {|| xSetFocus(oGet) }
hLays["TITLE"]:oClient := s_oTitle
//get comandos
hLays["GET"]:addHLayout()
hLays["GET"]:addHLayout(80)
@ 0,0 GET oGet VAR cNotes TEXT PIXEL OF hLays["GET"]:aHLayout[1] MEMO font s_oFonteBold multiline
hLays["GET"]:aHLayout[1]:oClient := oGet
oGet:lClrFocus := .t.
oGet:bGotfocus := {|| oGet:setpos(0) }
//botoes
oBotao1 := hLays["GET"]:aHLayout[2]:addVLayout()
oBotao2 := hLays["GET"]:aHLayout[2]:addVLayout()
@ 0,0 btnbmp hButtons["UM"] prompt "F3 Executar" of oBotao1 MULTILINE Action(PopulaBrowseQuery(cNotes, @aResult), xSetFocus(s_oBrowse))
oBotao1:oClient := hButtons["UM"]
@ 0,0 btnbmp hButtons["DOIS"] prompt "&Sair" of oBotao2 MULTILINE Action(s_oWndSqlBrowser:End())
oBotao2:oClient := hButtons["DOIS"]
//browse
@ 0,0 xbrowse s_oBrowse of hLays["BROWSE"] array aResult color CLR_BLACK,RGB(224,236,255)
s_oBrowse:bClrSelFocus := {|| {CLR_WHITE,CLR_HBLUE}}
s_oBrowse:bClrStd := {|| IIf((s_oBrowse:nArrayAt % 2 )==0,{CLR_BLACK, RGB(224,236,255)},{CLR_BLACK,RGB(189, 211,253)})}
s_oBrowse:bClrSel := {|| {CLR_WHITE,RGB(30,144,255)}}
s_oBrowse:nRowHeight := 26
s_oBrowse:nHeaderHeight := 30
s_oBrowse:nMarqueeStyle := 8
s_oBrowse:CreateFromCode()
hLays["BROWSE"]:oClient := s_oBrowse
// s_oWndSqlBrowser:SetIcon( TIcon():New(,,'MGAICON'))
s_oWndSqlBrowser:bPostEnd := {|| MsgRun("Aguarde...",,{|| Valid_SQLBrowser() } ) }
activate window s_oWndSqlBrowser maximized on init(xSetFocus(oGet));
valid( s_oWndSqlBrowser := Nil, .t. )
return
/************************************************************************************/
static procedure PopulaBrowseQuery(cNotes, aResult)
/*
*/
local oData
oData := m->oserver:query( Alltrim(cNotes) )
aResult :=oData:FillArray()
s_oBrowse:setarray(aResult)
s_oBrowse:Refresh()
return
/************************************************************************************/
static procedure Valid_SQLBrowser()
/*
*/
s_oFonteBold:end()
s_oFonteTitle:end()
s_oTitle:end()
HB_GCAll(.t.)
return
/************************************************************************************/
static function VerificaWindowsSQLBrowser()
/*
*/
if s_oWndSqlBrowser != Nil
if !IsZoomed(s_oWndSqlBrowser:hWnd)
s_oWndSqlBrowser:Maximize()
endif
return(.f.)
endif
return(.t.)
Re: SQL BROWSER with FIVEWIN + xBrowser
hi,
as Port is 3306 i guess we talk about MySQL
the Code which you take from Sample c:\fwh\samples\testage4.prg is using c:\fwh\lib\dolphin.lib
---
try :
c:\fwh\samples\mysql1.prg
c:\fwh\samples\erp.prg
as Port is 3306 i guess we talk about MySQL
the Code which you take from Sample c:\fwh\samples\testage4.prg is using c:\fwh\lib\dolphin.lib
---
try :
c:\fwh\samples\mysql1.prg
c:\fwh\samples\erp.prg
greeting,
Jimmy
Jimmy
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: SQL BROWSER with FIVEWIN + xBrowser
Fully functional program with FWH1909, using FWH built-in MySql library:
Code: Select all
#include "fivewin.ch"
function Main( cParam )
local oDlg, oFont, oFixed, oGet, oBrw
local oCn, oRs, cSql
TMultiGet():lClrFocus := .t.
SET DATE ITALIAN
SET CENTURY ON
FW_SetUnicode( .t. )
if Empty( cParam )
oCn := FW_DemoDB()
else
oCn := maria_Connect( cParam )
endif
if oCn == nil
return nil
endif
cSql := "SELECT Now()"
oRs := oCn:RowSet( cSql, .T. )
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
DEFINE FONT oFixed NAME "LUCIDA CONSOLE" SIZE 0,-18
DEFINE DIALOG oDlg SIZE 900,700 PIXEL TRUEPIXEL FONT oFont ;
TITLE FWVERSION + " : MySQL QUERY BROWSER"
@ 20,20 GET oGet VAR cSql MEMO SIZE 840,150 PIXEL OF oDlg UPDATE FONT oFixed
oGet:bValid := <|o|
if Upper( cSql ) == Upper( oRs:Source )
return .t.
endif
CursorWait()
if oRs:Requery( cSql )
oRs:SetXbrColumns( oBrw )
oBrw:GoTop()
oBrw:Refresh()
return .t.
endif
MsgAlert( "Invalid SQL" )
return .f.
>
@ 190,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg DATASOURCE oRs ;
AUTOCOLS CELL LINES NOBORDER FOOTERS
oBrw:CreateFromCode()
ACTIVATE DIALOG oDlg CENTERED ON INIT oGet:SetFocus()
RELEASE FONT oFont, oFixed
return nil
By specifying the parameters, we can also connect to our own server.
eg:
mysqlqry server,db,user,password
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
Re: SQL BROWSER with FIVEWIN + xBrowser
WOW ...nageswaragunupudi wrote:Fully functional program with FWH1909, using FWH built-in MySql library:
By default, the program connects to the MySQL server freely provided by FWH.
By specifying the parameters, we can also connect to our own server.
eg:
mysqlqry server,db,user,password
is something like this available for PostgreSQL
greeting,
Jimmy
Jimmy
Re: SQL BROWSER with FIVEWIN + xBrowser
Mr Nages,
is possible com TDOLPHIN?
oRs:SetXbrColumns( oBrw ) ?
Thanks
is possible com TDOLPHIN?
oRs:SetXbrColumns( oBrw ) ?
Thanks
Re: SQL BROWSER with FIVEWIN + xBrowser
Mr Nages,
is posslble?
is posslble?
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: SQL BROWSER with FIVEWIN + xBrowser
Please open new query and if successfully opened, tryMGA wrote:Mr Nages,
is posslble?
oBrw:SetDolphin( oNewQry, .t. )
Mr. Jimmy
For PostGre SQL also please try the same thing
oBrw:SetPostGre( oNewQry, .t. )
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
Re: SQL BROWSER with FIVEWIN + xBrowser
Sr. Nages,
New columns are always added, with each new query, new columns are added. I'm not able to clear the previous query to get only the columns for the new query.
s_oResult := M->oServer:Query( cNotes )
s_oData := s_oResult
s_oBrowse:SetDolphin(s_oData, .t.)
s_oBrowse:GoTop()
s_oBrowse:Refresh()
New columns are always added, with each new query, new columns are added. I'm not able to clear the previous query to get only the columns for the new query.
s_oResult := M->oServer:Query( cNotes )
s_oData := s_oResult
s_oBrowse:SetDolphin(s_oData, .t.)
s_oBrowse:GoTop()
s_oBrowse:Refresh()
Re: SQL BROWSER with FIVEWIN + xBrowser
Mr Nages solved the problem. Thanks
s_oData := M->oServer:Query( cNotes )
s_oData:refresh()
s_oBrowse:acols := {}
s_oBrowse:SetDolphin(s_oData, .t.)
s_oBrowse:GoTop()
s_oBrowse:Refresh()
s_oData := M->oServer:Query( cNotes )
s_oData:refresh()
s_oBrowse:acols := {}
s_oBrowse:SetDolphin(s_oData, .t.)
s_oBrowse:GoTop()
s_oBrowse:Refresh()