Hola amigos !! Saludos a todos. Bueno les cuento un nuevo problema que me ah tocado ajajja Tengo un formulario que tiene un grid conectado a una tabla temporal lo cual se carga con datos de un CSV al momento de darme problemas al carga ya que tenia unos datos de tipo Enum y Date, los cambie a String porque no sabia como declararlos, el tema es que ahora tengo que tomar esos datos temporales y enviarlo a una tabla normal que tiene esos tipo de datos (enum, date, real, string). entonces tengo que convertir los datos tipo String a Enum o Date si o si para poder ingresarlos a la tabla normal. Existe otra manera de hacerlo ??
Este es mi methodo para llenar mi grid con datos de mi csv
static void clicked(Args _args)
{
FileName fileName = Browser.text();
CommaIo csvFile;
container readCon;
str column1;
str column5;
real column2, column3;
str column4;
int numLines;
int cnt;
;
csvFile = new CommaIo(filename, 'r');
csvFile.inFieldDelimiter(';'); // Delimiter...
try
{
if (csvFile)
{
readCon = csvFile.read();
while (csvFile.status() == IO_Status::OK)
{
readCon = csvFile.read();
column1 = conPeek(readCon,1);//TipoCuenta Str
column2 = conPeek(readCon, 2);// Credit - real
column3 = conPeek(readCon, 3);//Debit - real
column4 = conPeek(readCon, 4);//Fecha - Str
column5 = conPeek(readCon, 5);//txt- string
GridTemporal.clear();
GridTemporal.AccountTypeStr = column1;
GridTemporal.AmountCurCredit = column2;
GridTemporal.AmountCurDebit = column3;
GridTemporal.TransDate2 = column4;
GridTemporal.Txt =column5;
GridTemporal.doinsert(); //<--Por si acaso
GridTemporal.insert();
}
GridTemporal_ds.executeQuery();
info('ingresado');
}
}
catch
{
throw error('');
}
}
y aqui tengo el methodo para que procese eh ingrese los datos a mis tablas normales.
void clicked()
{
int i;
int numcol, f;
str SFdate,STDate;
Pruebasinsert pruebasInsert;
PruebasInsert2 pruebasInsert2;
GridTemporal gridTemporal2;
str txt;
;
numcol = GridTemporal1.controlCount();
ttsBegin;
select forUpdate pruebasInsert; //insertamos el dato de mi stringEdit a mi primera tabla
pruebasInsert.JournalName = lookUpTipoJournalName.text();
pruebasInsert.insert();
// este insert toma los datos de mi tabla temporal eh ingresa a la tabla normal
select forUpdate pruebasInsert2;
pruebasInsert2.Txt = gridTemporal.Txt; // de str a str
pruebasInsert2.TransDate = gridTemporal2.date2str(TransDate2,123);// de str a Date (no funciona)
pruebasInsert2.AccountType = gridTemporal.AccountType; // de str a enum (no funciona)
pruebasInsert2.AmountCurCredit = gridTemporal.AmountCurCredit;// real a real(funciona)
pruebasInsert2.AmountCurDebit = gridTemporal.AmountCurDebit; // real a real (funciona)
pruebasInsert2.insert();
ttsCommit;
info('IngresadoColumna');
}