Correccion de errores en GdataTable, en len y en conversion a dbf
parent
2b48c1f27f
commit
62033526b6
|
|
@ -269,9 +269,9 @@ int GdataTable::nRow()
|
||||||
case(Tint64):
|
case(Tint64):
|
||||||
return((Cgarray<__int64>*)buf[i])->n;
|
return((Cgarray<__int64>*)buf[i])->n;
|
||||||
case(Tstring):
|
case(Tstring):
|
||||||
return((Cgarray<char>*)buf[i])->n;
|
return((Cgarray<char>*)buf[i])->n/ colm[i].nb;
|
||||||
case(Tbin):
|
case(Tbin):
|
||||||
return((Cgarray<char>*)buf[i])->n;
|
return((Cgarray<char>*)buf[i])->n / colm[i].nb;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ bool ManagerDbfGdataTable::DbfSetColm( char* name, BYTE type, int size )
|
||||||
switch(type)
|
switch(type)
|
||||||
{
|
{
|
||||||
case(DBF_TYPE_DATA_STR):
|
case(DBF_TYPE_DATA_STR):
|
||||||
//size++;
|
size++;
|
||||||
t = GdataTable::Tstring;
|
t = GdataTable::Tstring;
|
||||||
break;
|
break;
|
||||||
case(DBF_TYPE_DATA_I64):
|
case(DBF_TYPE_DATA_I64):
|
||||||
|
|
@ -161,6 +161,7 @@ bool ManagerDbfGdataTable::DbfGetColm(int icolm, char* name, BYTE *type, int *si
|
||||||
//pilla tipo----------------------
|
//pilla tipo----------------------
|
||||||
static BYTE t[GdataTable::Tntip]={0,DBF_TYPE_DATA_BOOL,DBF_TYPE_DATA_I, DBF_TYPE_DATA_D,DBF_TYPE_DATA_I64, DBF_TYPE_DATA_STR, DBF_TYPE_DATA_BIN } ;
|
static BYTE t[GdataTable::Tntip]={0,DBF_TYPE_DATA_BOOL,DBF_TYPE_DATA_I, DBF_TYPE_DATA_D,DBF_TYPE_DATA_I64, DBF_TYPE_DATA_STR, DBF_TYPE_DATA_BIN } ;
|
||||||
*type = t[_dt->getType(icolm)];
|
*type = t[_dt->getType(icolm)];
|
||||||
|
|
||||||
*ndecimal = MAX_NDECIMALS;
|
*ndecimal = MAX_NDECIMALS;
|
||||||
//copia segura de nombre------------------
|
//copia segura de nombre------------------
|
||||||
int i =0;
|
int i =0;
|
||||||
|
|
@ -173,6 +174,8 @@ bool ManagerDbfGdataTable::DbfGetColm(int icolm, char* name, BYTE *type, int *si
|
||||||
}
|
}
|
||||||
name[i]=0;
|
name[i]=0;
|
||||||
*size = _dt->getSizeASCII(icolm);
|
*size = _dt->getSizeASCII(icolm);
|
||||||
|
if (_dt->getType(icolm) == GdataTable::Tstring)
|
||||||
|
*size = *size - 1;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//***************************************************************************
|
//***************************************************************************
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue