FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Problem with xBrowse (Fixed)
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Problem with xBrowse
Posted: Tue May 30, 2023 10:04 PM
Regards



G. N. Rao.

Hyderabad, India
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Problem with xBrowse
Posted: Tue May 30, 2023 10:08 PM
Code (fw): Select all Collapse
#include "fivewin.ch"
#include "adodef.ch"

static oCn

function Main()

聽 聽local oWnd, oBar

聽 聽FWNumFormat( "A", .t. )
聽 聽SET DATE FORMAT TO "dd/mm/yyyy"

聽 聽CursorWait()
聽 聽oCn 聽 := FW_OpenAdoConnection( { "MYSQL","208.91.198.197:3306", "fwhdemo", "gnraofwh", "Bharat@1950" }, .t. )

聽 聽DEFINE WINDOW oWnd MDI
聽 聽DEFINE BUTTONBAR oBar OF oWnd SIZE 45,45 2007
聽 聽DEFINE BUTTON OF oBar PROMPT "TEST" CENTER ACTION Test()

聽 聽oWnd:oWndClient:bPainted := {||oWnd:oWndClient:DrawImage( "c:\fwh\bitmaps\logo.bmp", "BR" )}

聽 聽ACTIVATE WINDOW oWnd

return nil

static function Test()

聽 聽local oDlg, oWndChild
聽 聽local oBar, oMsgBar, oBrw
聽 聽local oRsHdr

聽 聽CreateTable()
聽 聽oRsHdr 聽 := OpenTable()

聽 聽DEFINE DIALOG oDlg SIZE 700,400 PIXEL TRUEPIXEL
聽 聽DEFINE BUTTONBAR oBar OF oDlg SIZE 56,42 2007

聽 聽DEFINE BUTTON OF oBar PROMPT "Add" CENTER ACTION InsertMovs( oBrw )
聽 聽DEFINE BUTTON OF oBar PROMPT "Zap" CENTER ACTION ( ;
聽 聽 聽 oCn:Execute( "TRUNCATE TABLE `HdrVda`" ), ;
聽 聽 聽 oRsHdr:ReQuery(), oBrw:Refresh(), oBrw:SetFocus() )
聽 聽DEFINE BUTTON OF oBar PROMPT "Close" CENTER ACTION oWndChild:End()

聽 聽@ oBar:nHeight, 0 XBROWSE oBrw SIZE 0,-30 PIXEL OF oDlg ;
聽 聽 聽 DATASOURCE oRsHdr ;
聽 聽 聽COLUMNS "HDR_FOL","HDR_FDM","HDR_REF",;
聽 聽 聽 "IF( HDR_EOS == 1, 'Entrada', 'Salida' )",;
聽 聽 聽 "IF( HDR_EOS == 1, HDR_TOU, 0.00 )",;
聽 聽 聽 "IF( HDR_EOS == 1, HDR_TOC, 0.00 )",;
聽 聽 聽 "IF( HDR_EOS == 2, HDR_TOU, 0.00 )",;
聽 聽 聽 "IF( HDR_EOS == 2, HDR_TOC, 0.00 )",;
聽 聽 聽 "[SUC_NOM]","HDR_CAN";
聽 聽 聽HEADERS "Folio","Fecha","Referencia","Tipo","Unidades","Costos","Unidades","Costos","Sucursal","Can";
聽 聽 聽LINES NOBORDER

聽 聽WITH OBJECT oBrw
聽 聽 聽 :bGotFocus := { || oRsHdr:Requery(), oBrw:Refresh() }
聽 聽 聽 //
聽 聽 聽 :CreateFromCode()
聽 聽END
聽 聽oDlg:oClient 聽 := oBrw

聽 聽oDlg:bPostEnd 聽:= { || oRsHdr:Close() }
聽 聽ACTIVATE DIALOG oDlg AS MDICHILD SETUP ( ;
聽 聽 聽 oWndChild := oWnd, ;
聽 聽 聽 oMsgBar := TMsgBar():New( oWnd,,,,,,,,,,.t. ) )

return nil

STATIC FUNCTION CreateTable()
聽 聽LOCAL cCmdSql 聽 聽 聽 聽 聽 := NIL

// 聽 oApp:oCon:Execute("USE Test")

聽 聽cCmdSql := "CREATE TABLE IF NOT EXISTS HdrVda (" +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_FOL INTEGER(03) 聽NOT NULL 聽 聽AUTO_INCREMENT 聽 聽COMMENT 'Folio'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_EOS DECIMAL(01,0) 聽NOT NULL DEFAULT 0 聽 聽 聽 聽 聽 聽COMMENT 'E=Entrada y S=Salida'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_SUC DECIMAL(03,0) 聽 聽 聽NULL 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽COMMENT 'N煤mero de sucursal'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_FDM DATE 聽 聽 聽 聽 聽 NOT NULL DEFAULT '0000-00-00' COMMENT 'Fecha del movimiento'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_REF VARCHAR(15) 聽 聽NOT NULL DEFAULT '' 聽 聽 聽 聽 聽 COMMENT 'Referencia'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_TOU DECIMAL(05,0) 聽NOT NULL DEFAULT 0 聽 聽 聽 聽 聽 聽COMMENT 'Total de unidades'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_TOC DECIMAL(11,2) 聽NOT NULL DEFAULT 0.00 聽 聽 聽 聽 COMMENT 'Total de costos'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_CAN BIT 聽 聽 聽 聽 聽 聽NOT NULL DEFAULT 0 聽 聽 聽 聽 聽 聽COMMENT 'Cancelado ?'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_MOT VARCHAR(50) 聽 聽NOT NULL DEFAULT '' 聽 聽 聽 聽 聽 COMMENT 'Motivo de la cancelaci贸n'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "PRIMARY KEY(HDR_FOL))" +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "ENGINE = InnoDB 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽COMMENT 'Encabezado de vales de almac茅n';"

聽 聽oCn:Execute(cCmdSql)

RETURN(.T.)

STATIC FUNCTION OpenTable()

聽 聽local oRsHdr
/*
聽 聽oRsHdr := FW_OpenRecordSet( oCn,"SELECT " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "*," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_NOM " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"FROM " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "HdrVda " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"LEFT JOIN " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "Sucursales " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"ON " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_SUC = Sucursales.SUC_NUM",adLockOptimistic,adOpenDynamic,0)
*/
聽 聽oRsHdr 聽 := FW_OpenRecordSet( oCn, "HdrVda" )

聽 聽IF oRsHdr == nil
聽 聽 聽 聽 MsgStop("I can't open the table HDRVDA !",)
聽 聽 聽 聽 FW_ShowAdoError( oCn )
聽 聽 聽 RETURN nil
聽 聽ENDIF

聽 聽 IF oRsHdr:BOF() .AND. oRsHdr:EOF()
聽 聽 ELSE
聽 聽 聽 oRsHdr:MoveFirst()
聽 聽 ENDIF

RETURN oRsHdr

STATIC FUNCTION InsertMovs(oBrw)

聽 聽oBrw:oRs:AddNew( { "HDR_EOS", "HDR_FDM", "HDR_TOU", "HDR_TOC" }, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 { 聽1, 聽 聽 聽 聽 Date(), 聽 聽10, 聽 聽 聽 聽175.25 聽 } 聽)

聽 聽oBrw:oRs:AddNew( { "HDR_EOS", "HDR_SUC", "HDR_FDM", "HDR_REF", "HDR_TOU", "HDR_TOC" }, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 { 聽2, 聽 聽 聽 聽 1, 聽 聽 聽 聽 Date(), 聽 "F_254", 聽 聽150, 聽 聽 聽 15000.00 } 聽)

聽 聽oBrw:oRs:ReQuery()

聽 聽oBrw:Refresh()
聽 聽oBrw:SetFocus()

RETURN(.T.)
Regards



G. N. Rao.

Hyderabad, India
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Problem with xBrowse
Posted: Wed May 31, 2023 12:16 AM

Mr. Rao:

Could you please add the HDR_SUC column and with LEFT JOIN access the BRANCHES table to obtain the name of the branch

and display it in the BROWSE?

In an input movement the HDR_SUC column must be null

With best regards

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Problem with xBrowse
Posted: Wed May 31, 2023 04:23 AM
ok
Code (fw): Select all Collapse
#include "fivewin.ch"
#include "adodef.ch"

static oCn

function Main()

聽 聽local oWnd, oBar

聽 聽FWNumFormat( "A", .t. )
聽 聽SET DATE FORMAT TO "dd/mm/yyyy"

聽 聽CursorWait()
聽 聽oCn 聽 := FW_OpenAdoConnection( { "MYSQL","208.91.198.197:3306", "fwhdemo", "gnraofwh", "Bharat@1950" }, .t. )

聽 聽DEFINE WINDOW oWnd MDI
聽 聽DEFINE BUTTONBAR oBar OF oWnd SIZE 45,45 2007
聽 聽DEFINE BUTTON OF oBar PROMPT "TEST" CENTER ACTION Test()

聽 聽oWnd:oWndClient:bPainted := {||oWnd:oWndClient:DrawImage( "c:\fwh\bitmaps\logo.bmp", "BR" )}

聽 聽ACTIVATE WINDOW oWnd

return nil

static function Test()

聽 聽local oDlg, oWndChild
聽 聽local oBar, oMsgBar, oBrw
聽 聽local oRsHdr

聽 聽CreateTable()
聽 聽oRsHdr 聽 := OpenTable()

聽 聽DEFINE DIALOG oDlg SIZE 700,400 PIXEL TRUEPIXEL
聽 聽DEFINE BUTTONBAR oBar OF oDlg SIZE 56,42 2007

聽 聽DEFINE BUTTON OF oBar PROMPT "Add" CENTER ACTION InsertMovs( oBrw )
聽 聽DEFINE BUTTON OF oBar PROMPT "Zap" CENTER ACTION ( ;
聽 聽 聽 oCn:Execute( "TRUNCATE TABLE `HdrVda`" ), ;
聽 聽 聽 oRsHdr:ReQuery(), oBrw:Refresh(), oBrw:SetFocus() )
聽 聽DEFINE BUTTON OF oBar PROMPT "Close" CENTER ACTION oWndChild:End()

聽 聽@ oBar:nHeight, 0 XBROWSE oBrw SIZE 0,-30 PIXEL OF oDlg ;
聽 聽 聽 DATASOURCE oRsHdr ;
聽 聽 聽COLUMNS "HDR_FOL","HDR_FDM","HDR_REF",;
聽 聽 聽 "IF( HDR_EOS == 1, 'Entrada', 'Salida' )",;
聽 聽 聽 "IF( HDR_EOS == 1, HDR_TOU, 0.00 )",;
聽 聽 聽 "IF( HDR_EOS == 1, HDR_TOC, 0.00 )",;
聽 聽 聽 "IF( HDR_EOS == 2, HDR_TOU, 0.00 )",;
聽 聽 聽 "IF( HDR_EOS == 2, HDR_TOC, 0.00 )",;
聽 聽 聽 "[SUC_NOM]","HDR_CAN";
聽 聽 聽HEADERS "Folio","Fecha","Referencia","Tipo","Unidades","Costos","Unidades","Costos","Sucursal","Can";
聽 聽 聽LINES NOBORDER

聽 聽WITH OBJECT oBrw
聽 聽 聽 :bGotFocus := { || oRsHdr:Requery(), oBrw:Refresh() }
聽 聽 聽 //
聽 聽 聽 :CreateFromCode()
聽 聽END
聽 聽oDlg:oClient 聽 := oBrw

聽 聽oDlg:bPostEnd 聽:= { || oRsHdr:Close() }
聽 聽ACTIVATE DIALOG oDlg AS MDICHILD SETUP ( ;
聽 聽 聽 oWndChild := oWnd, ;
聽 聽 聽 oMsgBar := TMsgBar():New( oWnd,,,,,,,,,,.t. ) )

return nil

STATIC FUNCTION CreateTable()
聽 聽LOCAL cCmdSql 聽 聽 聽 聽 聽 := NIL
聽 聽local c

// 聽 oApp:oCon:Execute("USE Test")

聽 聽cCmdSql := "CREATE TABLE IF NOT EXISTS HdrVda (" +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_FOL INTEGER(03) 聽NOT NULL 聽 聽AUTO_INCREMENT 聽 聽COMMENT 'Folio'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_EOS DECIMAL(01,0) 聽NOT NULL DEFAULT 0 聽 聽 聽 聽 聽 聽COMMENT 'E=Entrada y S=Salida'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_SUC DECIMAL(03,0) 聽 聽 聽NULL 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽COMMENT 'N煤mero de sucursal'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_FDM DATE 聽 聽 聽 聽 聽 NOT NULL DEFAULT '0000-00-00' COMMENT 'Fecha del movimiento'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_REF VARCHAR(15) 聽 聽NOT NULL DEFAULT '' 聽 聽 聽 聽 聽 COMMENT 'Referencia'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_TOU DECIMAL(05,0) 聽NOT NULL DEFAULT 0 聽 聽 聽 聽 聽 聽COMMENT 'Total de unidades'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_TOC DECIMAL(11,2) 聽NOT NULL DEFAULT 0.00 聽 聽 聽 聽 COMMENT 'Total de costos'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_CAN BIT 聽 聽 聽 聽 聽 聽NOT NULL DEFAULT 0 聽 聽 聽 聽 聽 聽COMMENT 'Cancelado ?'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_MOT VARCHAR(50) 聽 聽NOT NULL DEFAULT '' 聽 聽 聽 聽 聽 COMMENT 'Motivo de la cancelaci贸n'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "PRIMARY KEY(HDR_FOL))" +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "ENGINE = InnoDB 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽COMMENT 'Encabezado de vales de almac茅n';"

聽 聽oCn:Execute(cCmdSql)

聽 聽if !FW_AdoTableExists( "Sucursales" )
聽 聽 聽 FWAdoCreateTable( "Sucursales", {{ "SUC_NOM","C",10,0}}, oCn, "SUC_NUM" )

聽 聽 聽 for each c in { "One", "Two", "Three" }
聽 聽 聽 聽 聽oCn:Execute( "INSERT INTO Sucursales ( SUC_NOM ) VALUES ('" + c + 聽"')" )
聽 聽 聽 next



聽 聽endif


RETURN(.T.)

STATIC FUNCTION OpenTable()

聽 聽local oRsHdr
/*
聽 聽oRsHdr := FW_OpenRecordSet( oCn,"SELECT " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "*," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_NOM " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"FROM " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "HdrVda " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"LEFT JOIN " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "Sucursales " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽"ON " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_SUC = Sucursales.SUC_NUM",adLockOptimistic,adOpenDynamic,0)
*/
聽 聽oRsHdr 聽 := FW_OpenRecordSet( oCn, ;
聽 聽 聽 "SELECT *,S.SUC_NOM FROM HdrVda H LEFT JOIN Sucursales S ON H.HDR_SUC = S.SUC_NUM ORDER BY HDR_FOL" )

聽 聽IF oRsHdr == nil
聽 聽 聽 聽 MsgStop("I can't open the table HDRVDA !",)
聽 聽 聽 聽 FW_ShowAdoError( oCn )
聽 聽 聽 RETURN nil
聽 聽ENDIF

聽 聽 IF oRsHdr:BOF() .AND. oRsHdr:EOF()
聽 聽 ELSE
聽 聽 聽 oRsHdr:MoveFirst()
聽 聽 ENDIF

RETURN oRsHdr

STATIC FUNCTION InsertMovs(oBrw)

聽 聽oBrw:oRs:AddNew( { "HDR_EOS", "HDR_FDM", "HDR_TOU", "HDR_TOC" }, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 { 聽1, 聽 聽 聽 聽 Date(), 聽 聽10, 聽 聽 聽 聽175.25 聽 } 聽)

聽 聽oBrw:oRs:AddNew( { "HDR_EOS", "HDR_SUC", "HDR_FDM", "HDR_REF", "HDR_TOU", "HDR_TOC" }, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 { 聽2, 聽 聽 聽 聽 1, 聽 聽 聽 聽 Date(), 聽 "F_254", 聽 聽150, 聽 聽 聽 15000.00 } 聽)

聽 聽oBrw:oRs:ReQuery()

聽 聽oBrw:Refresh()
聽 聽oBrw:SetFocus()

RETURN(.T.)
Regards



G. N. Rao.

Hyderabad, India
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Problem with xBrowse
Posted: Wed May 31, 2023 05:06 PM
Mr. Rao:

Your sample works very fine.

If I use
Code (fw): Select all Collapse
oCn 聽 := FW_OpenAdoConnection( { "MYSQL","localhost", "SiaJAEM", "root", "91502127" }, .t. )
Instead
Code (fw): Select all Collapse
oCn 聽 := FW_OpenAdoConnection( { "MYSQL","208.91.198.197:3306", "fwhdemo", "gnraofwh", "Bharat@1950" }, .t. )
I got the error, perhaps the problem is my MySql version? what do you think?, or my connector?

I have MySql 5.1 version

BEst regards
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Problem with xBrowse
Posted: Thu Jun 01, 2023 07:20 AM
I got the error
Same Error?

Please make sure that except the connection, please do not make any changes in my program. In particular, retian oRsHdr as local variable only.

Cloud server version is 5.6.39. But I don't this it is version problem.
Regards



G. N. Rao.

Hyderabad, India
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Problem with xBrowse
Posted: Fri Jun 02, 2023 01:42 AM

Mr. Rao:

Yes, it's the same error, and I'm sure I haven't changed anything other than the connection

by the way, if I remove the LEFT JOIN code, there is no error at all.

With best regards

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Problem with xBrowse
Posted: Fri Jun 02, 2023 02:58 AM
by the way, if I remove the LEFT JOIN code, there is no error at all.
What is the structure of `Sucursales` table?
Regards



G. N. Rao.

Hyderabad, India
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Problem with xBrowse
Posted: Fri Jun 02, 2023 03:08 AM
Mr. Rao:

Here is the full structure of sucursales table
Code (fw): Select all Collapse
聽 聽cCmdSql := "CREATE TABLE IF NOT EXISTS Sucursales (" +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_NUM TINYINT 聽聽 聽 聽 聽NOT NULL 聽 聽AUTO_INCREMENT 聽 聽COMMENT 'N煤mero de sucursal'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_NOM VARCHAR(40) 聽 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'Nombre o Raz贸n Social'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_IAT VARCHAR(05) 聽 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'C贸digo IATA'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_CAL VARCHAR(60) 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'Domicilio'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_NUE VARCHAR(20) 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'N煤mero exterior'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_NUI VARCHAR(20) 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'N煤mero interior'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_COL VARCHAR(60) 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'Colonia'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_COP VARCHAR(05) 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'C贸digo postal'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_CIU VARCHAR(25) 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'Poblaci贸n'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_MUN VARCHAR(30) 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'Delegaci贸n o municipio'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_EST VARCHAR(25) 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'Entidad federativa'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_TEL VARCHAR(25) 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'Tel茅fono'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "SUC_EMA VARCHAR(50) 聽 聽NOT NULL 聽 聽DEFAULT '' 聽 聽 聽 聽COMMENT 'e-mail'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "PRIMARY KEY(SUC_NUM))" +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "ENGINE = InnoDB 聽聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 COMMENT 'Sucursales';"
Best regards
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Problem with xBrowse
Posted: Sun Jun 04, 2023 07:21 AM
This is the table I used
Code (fw): Select all Collapse
CREATE TABLE `Sucursales` (
聽 `SUC_NUM` int(11) NOT NULL AUTO_INCREMENT,
聽 `SUC_NOM` varchar(10) DEFAULT NULL,
聽 PRIMARY KEY (`SUC_NUM`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Regards



G. N. Rao.

Hyderabad, India
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Problem with xBrowse
Posted: Sun Jun 04, 2023 05:04 PM

Mr. Rao:

I'll try with your structur.

Best regards

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Problem with xBrowse
Posted: Sun Jun 04, 2023 05:20 PM

Mr. Rao:

I tried with your structure, the problem persists.

I'm going crazy

Regards

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Problem with xBrowse
Posted: Sun Jun 04, 2023 05:33 PM
Please try my original program on any other computer.
Or try on this cloud server
Code (fw): Select all Collapse
"209.250.245.152","fwh","fwhuser","FiveTech@2022"
Regards



G. N. Rao.

Hyderabad, India
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Problem with xBrowse
Posted: Sun Jun 04, 2023 05:47 PM
Mr. Rao:

With the new connection string I got the same error

At the first time everything is fine, but at the second time i got the same error.

Here is the full code
Code (fw): Select all Collapse
#include "fivewin.ch"
#include "adodef.ch"

static oCn

function Main()

聽 聽local oWnd, oBar

聽 聽FWNumFormat( "A", .t. )
聽 聽SET DATE FORMAT TO "dd/mm/yyyy"

聽 聽CursorWait()
聽 聽 聽 oCn 聽 := FW_OpenAdoConnection( { "MYSQL","209.250.245.152","fwh","fwhuser","FiveTech@2022" }, .t. )
// 聽 oCn 聽 := FW_OpenAdoConnection( { "MYSQL","208.91.198.197:3306", "fwhdemo", "gnraofwh", "Bharat@1950" }, .t. )
// 聽 oCn 聽 := FW_OpenAdoConnection( { "MYSQL","localhost", "SiaJAEM", "root", "91502127" }, .t. )

聽 聽DEFINE WINDOW oWnd MDI
聽 聽DEFINE BUTTONBAR oBar OF oWnd SIZE 45,45 2007
聽 聽DEFINE BUTTON OF oBar PROMPT "TEST" CENTER ACTION Test()

聽 聽oWnd:oWndClient:bPainted := {||oWnd:oWndClient:DrawImage( "c:\fwh\bitmaps\logo.bmp", "BR" )}

聽 聽ACTIVATE WINDOW oWnd

return nil

static function Test()

聽 聽local oDlg, oWndChild
聽 聽local oBar, oMsgBar, oBrw
聽 聽local oRsHdr

聽 聽CreateTable()
聽 聽oRsHdr 聽 := OpenTable()

聽 聽DEFINE DIALOG oDlg SIZE 700,400 PIXEL TRUEPIXEL
聽 聽DEFINE BUTTONBAR oBar OF oDlg SIZE 56,42 2007

聽 聽DEFINE BUTTON OF oBar PROMPT "Add" CENTER ACTION InsertMovs( oBrw )
聽 聽DEFINE BUTTON OF oBar PROMPT "Zap" CENTER ACTION ( ;
聽 聽 聽 oCn:Execute( "TRUNCATE TABLE `HdrVda`" ), ;
聽 聽 聽 oRsHdr:ReQuery(), oBrw:Refresh(), oBrw:SetFocus() )
聽 聽DEFINE BUTTON OF oBar PROMPT "Close" CENTER ACTION oWndChild:End()

聽 聽@ oBar:nHeight, 0 XBROWSE oBrw SIZE 0,-30 PIXEL OF oDlg ;
聽 聽 聽 DATASOURCE oRsHdr ;
聽 聽 聽COLUMNS "HDR_FOL","HDR_FDM","HDR_REF",;
聽 聽 聽 "IF( HDR_EOS == 1, 'Entrada', 'Salida' )",;
聽 聽 聽 "IF( HDR_EOS == 1, HDR_TOU, 0.00 )",;
聽 聽 聽 "IF( HDR_EOS == 1, HDR_TOC, 0.00 )",;
聽 聽 聽 "IF( HDR_EOS == 2, HDR_TOU, 0.00 )",;
聽 聽 聽 "IF( HDR_EOS == 2, HDR_TOC, 0.00 )",;
聽 聽 聽 "[SUC_NOM]","HDR_CAN";
聽 聽 聽HEADERS "Folio","Fecha","Referencia","Tipo","Unidades","Costos","Unidades","Costos","Sucursal","Can";
聽 聽 聽LINES NOBORDER

聽 聽WITH OBJECT oBrw
聽 聽 聽 :bGotFocus := { || oRsHdr:Requery(), oBrw:Refresh() }
聽 聽 聽 //
聽 聽 聽 :CreateFromCode()
聽 聽END
聽 聽oDlg:oClient 聽 := oBrw

聽 聽oDlg:bPostEnd 聽:= { || oRsHdr:Close() }
聽 聽ACTIVATE DIALOG oDlg AS MDICHILD SETUP ( ;
聽 聽 聽 oWndChild := oWnd, ;
聽 聽 聽 oMsgBar := TMsgBar():New( oWnd,,,,,,,,,,.t. ) )

return nil

STATIC FUNCTION CreateTable()
聽 聽LOCAL cCmdSql 聽 聽 聽 聽 聽 := NIL
聽 聽local c

// 聽 oApp:oCon:Execute("USE Test")

聽 聽cCmdSql := "CREATE TABLE IF NOT EXISTS HdrVda (" +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_FOL INTEGER(03) 聽NOT NULL 聽 聽AUTO_INCREMENT 聽 聽COMMENT 'Folio'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_EOS DECIMAL(01,0) 聽NOT NULL DEFAULT 0 聽 聽 聽 聽 聽 聽COMMENT 'E=Entrada y S=Salida'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_SUC DECIMAL(03,0) 聽 聽 聽NULL 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽COMMENT 'N煤mero de sucursal'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_FDM DATE 聽 聽 聽 聽 聽 聽 聽 NULL 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽COMMENT 'Fecha del movimiento'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_REF VARCHAR(15) 聽 聽NOT NULL DEFAULT '' 聽 聽 聽 聽 聽 COMMENT 'Referencia'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_TOU DECIMAL(05,0) 聽NOT NULL DEFAULT 0 聽 聽 聽 聽 聽 聽COMMENT 'Total de unidades'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_TOC DECIMAL(11,2) 聽NOT NULL DEFAULT 0.00 聽 聽 聽 聽 COMMENT 'Total de costos'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_CAN BIT 聽 聽 聽 聽 聽 聽NOT NULL DEFAULT 0 聽 聽 聽 聽 聽 聽COMMENT 'Cancelado ?'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "HDR_MOT VARCHAR(50) 聽 聽NOT NULL DEFAULT '' 聽 聽 聽 聽 聽 COMMENT 'Motivo de la cancelaci贸n'," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "PRIMARY KEY(HDR_FOL))" +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "ENGINE = InnoDB 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽COMMENT 'Encabezado de vales de almac茅n';"

// 聽 聽 聽 聽 聽 聽 聽 聽 聽"HDR_FDM DATE 聽 聽 聽 聽 聽 NOT NULL DEFAULT '0000-00-00' COMMENT 'Fecha del movimiento'," +;

聽 聽oCn:Execute(cCmdSql)

聽 聽if !FW_AdoTableExists( "Sucursales" )
聽 聽 聽 FWAdoCreateTable( "Sucursales", {{ "SUC_NOM","C",10,0}}, oCn, "SUC_NUM" )

聽 聽 聽 for each c in { "One", "Two", "Three" }
聽 聽 聽 聽 聽oCn:Execute( "INSERT INTO Sucursales ( SUC_NOM ) VALUES ('" + c + 聽"')" )
聽 聽 聽 next



聽 聽endif


RETURN(.T.)

STATIC FUNCTION OpenTable()

聽 聽local oRsHdr
聽 聽oRsHdr 聽 := FW_OpenRecordSet( oCn, ;
聽 聽 聽 "SELECT *,S.SUC_NOM FROM HdrVda H LEFT JOIN Sucursales S ON H.HDR_SUC = S.SUC_NUM ORDER BY HDR_FOL" )

//// 聽 聽 聽"SELECT * FROM HdrVda ORDER BY HDR_FOL"

聽 聽IF oRsHdr == nil
聽 聽 聽 聽 MsgStop("I can't open the table HDRVDA !",)
聽 聽 聽 聽 FW_ShowAdoError( oCn )
聽 聽 聽 RETURN nil
聽 聽ENDIF

聽 聽 IF oRsHdr:BOF() .AND. oRsHdr:EOF()
聽 聽 ELSE
聽 聽 聽 oRsHdr:MoveFirst()
聽 聽 ENDIF

RETURN oRsHdr

STATIC FUNCTION InsertMovs(oBrw)

聽 聽oBrw:oRs:AddNew( { "HDR_EOS", "HDR_FDM", "HDR_TOU", "HDR_TOC" }, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 { 聽1, 聽 聽 聽 聽 Date(), 聽 聽10, 聽 聽 聽 聽175.25 聽 } 聽)

聽 聽oBrw:oRs:AddNew( { "HDR_EOS", "HDR_SUC", "HDR_FDM", "HDR_REF", "HDR_TOU", "HDR_TOC" }, ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 { 聽2, 聽 聽 聽 聽 1, 聽 聽 聽 聽 Date(), 聽 "F_254", 聽 聽150, 聽 聽 聽 15000.00 } 聽)

聽 聽oBrw:oRs:ReQuery()

聽 聽oBrw:Refresh()
聽 聽oBrw:SetFocus()

RETURN(.T.)
Perhaps you can see my fault.

Best regards
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 514
Joined: Sun Oct 16, 2005 03:32 AM
Re: Problem with xBrowse
Posted: Mon Jun 05, 2023 11:45 PM
Armando:

Instead of:
Code (fw): Select all Collapse
"SELECT *,S.SUC_NOM FROM HdrVda H LEFT JOIN Sucursales S ON H.HDR_SUC = S.SUC_NUM ORDER BY HDR_FOL"
Use
Code (fw): Select all Collapse
"SELECT H.*,S.SUC_NOM FROM HdrVda H LEFT JOIN Sucursales S ON H.HDR_SUC = S.SUC_NUM ORDER BY HDR_FOL"
"H.*" make the trick.

Regards,

Saludos,



Carlos Gallego



*** FWH-25.12, xHarbour 1.3.1 Build 20241008, Borland C++7.70, PellesC, ADS 11.1***