FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour bug FWAdoFieldType [urgent]
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
bug FWAdoFieldType [urgent]
Posted: Thu Mar 19, 2020 11:55 AM

Hi,

This function with DateTime fields wrongly retrieves such field type as D, but should be T in Access.

Thank you.

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: bug FWAdoFieldType
Posted: Thu Mar 19, 2020 12:48 PM

function FieldTypeAdoToDbf( nType ) fails too, in Access and MYSQL.

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: bug FWAdoFieldType
Posted: Thu Mar 19, 2020 02:19 PM
MOISES wrote:Hi,
but should be T in Access.

What is the field type in Acess for Only Date in Access? Field type that does not contain time part?
If a programmer wants to store only Dates what field type he has to choose other than DateTime?
Regards



G. N. Rao.

Hyderabad, India
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: bug FWAdoFieldType
Posted: Thu Mar 19, 2020 03:24 PM

The field is defined in Access as DateTime, but if it only stores a date FWAdoFieldType returns D.

If it also has date and time, FWAdoFieldType returns T.

FieldTypeAdoToDbf fails alwawys.

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: bug FWAdoFieldType
Posted: Sun Mar 22, 2020 06:47 PM

Any clue please?

Thank you.

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 2706
Joined: Fri Oct 07, 2005 01:50 PM
Re: bug FWAdoFieldType
Posted: Mon Mar 23, 2020 01:14 PM
MOISES

Try this simple test on Ms Access or Ms Sql Server .. Valtype() on an ado fieldtype datetime should always equal T

Code (fw): Select all Collapse
dDate := oRs:Fields("Date"):Value      // assumes the ado field type = DateTime

cType := Valtype( dDate )

MsgInfo( cType )
cType should = T


Rick Lipkin
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: bug FWAdoFieldType
Posted: Mon Mar 23, 2020 05:18 PM

No, it returns "D", when the field is empty or has a date only.

"T" is returned when the field has a datetime inside.

Thank you,

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: bug FWAdoFieldType
Posted: Mon Mar 23, 2020 06:02 PM
MOISES wrote:Hi,

This function with DateTime fields wrongly retrieves such field type as D, but should be T in Access.

Thank you.

This function is intended for internal use.
You may not use it. Even if you use it, if you get the value is "D", then you further check if the particular value is D or T.
Regards



G. N. Rao.

Hyderabad, India
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: bug FWAdoFieldType
Posted: Mon Mar 23, 2020 06:10 PM

Thank you for your time.

So, how can I get the field type as "T", irrespective of if its empty or full?

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: bug FWAdoFieldType
Posted: Wed Mar 25, 2020 07:21 AM

Up, thank you.

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: bug FWAdoFieldType [urgent]
Posted: Mon Mar 30, 2020 10:59 AM

Any clue please?

Thank you.

Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: bug FWAdoFieldType [urgent]
Posted: Mon Mar 30, 2020 04:17 PM

Can we see a reduced and self-contained sample (database included) showing the problem, please?

EMG

Posts: 838
Joined: Wed Aug 22, 2007 10:09 AM
Re: bug FWAdoFieldType [urgent]
Posted: Mon Mar 30, 2020 06:08 PM
Sure, thank you for your attention:

Code (fw): Select all Collapse
#include "fivewin.ch"
#include "adodef.ch"

static oCn
static cTable := "test_datetime"

//----------------------------------------------------------------------------//

function Main()

   SetGetColorFocus()
   FWNumFormat( "A", .t. )

   oCn   := FW_OpenAdoConnection( "xbrtest.mdb" )
   if oCn == nil
      ? "Connect Fail"
      return nil
   endif

   if .not. FW_AdoTableExists( cTable, oCn ) .or. ;
      MsgYesNo( "Create Table again?" )
      CreateTestTable()
   endif

   EditTable()

   oCn:Close()

return nil

//----------------------------------------------------------------------------//

function CreateTestTable()

   local aCols := { { "ITEM", "C", 10, 0 }, { "PRICE", "N", 12, 2 }, { "DATETIME", "T", 10, 0 }, { "DESCRIPTION", "C", 20, 0 } }
   local oRs

   ? "Creating Table"

   if FW_AdoTableExists( cTable, oCn )
      oCn:Execute( "DROP TABLE " + cTable )
   endif

   FWAdoCreateTable( cTable, aCols, oCn )

return nil

//----------------------------------------------------------------------------//

function EditTable()

   local oRs
   local oDlg, oFont, oBrw
   local nAppendRec   := nil

   local aStruct  := {}
   local nField   := 0
   local csql

   oRs   := FW_OpenRecordSet( oCn, cTable, adLockBatchOptimistic )


   aStruct := FWAdoStruct( oRs )
   nField      := AScan( aStruct, {|a| Upper(a[1]) == "DATETIME" } )


   cSQL     := FWAdoFieldType( oRs, nField )
   ?cSQL




   xbrowser ors fastedit








   oRs:Close()

return nil

//----------------------------------------------------------------------------//
Saludos / Regards,



FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: bug FWAdoFieldType [urgent]
Posted: Mon Mar 30, 2020 07:25 PM

I get "Connect Fail".

EMG

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: bug FWAdoFieldType [urgent]
Posted: Mon Mar 30, 2020 07:28 PM

Ok, I got xbrtest.mdb from FWH samples.

EMG