Home » Non-English Forums » Spanish » Inicializacion de estructuras en Pro*c
icon5.gif  Inicializacion de estructuras en Pro*c [message #160149] Thu, 23 February 2006 09:36
zephirot
Messages: 1
Registered: February 2006
Junior Member
Buenas, me estaba codeando con un proc cuando me encontre con una rareza (tal vez solo para mi). Tengo una funcion que se encarga de cargar en memoria el resultado de una consulta. En tal declaro y abro un cursor, luego efectuo un fetch unitario (EXEC SQL FETCH cur INTO :estruc[i]), cierro los campos que son strings (estruc[i].szCad.arr[estruc[i].szCad.len]='\0') y finalmente cierro el el cursor.
Supongamos que levanta unos 2000 registros, y a todo esto, me encontre con que en el segundo (y solo en el segundo) me dejaba un campo vacio, el campo era una fecha y como lo convertia a char* comprobe que el .len fuera > 0, y asi era, en mi caso era 11 ('dd-MON-yyyy'). Para ser mas exacto comprobe el valor ni bien terminaba de ejecutarse el FETCH. Bien, en este momento es cuando decidi inicializar la estructura con un memset(estruc,0,cant_reg) y para mi sorpresa funciono a la perfeccion, cargo correctamente el segundo registro y anduvo todo OK.
Lo que intento saber es si realmente era esta la solucion, por una cuestion de que se exige que se inicialice la estructura, o solo fue la casualidad. Necesito saber esto ya que tengo que modificar muchos .pc.

Espero puedan aclarar mi duda, y estoy al tanto de cualquier consulta.
Muchas Gracias!

[ZephiroT]
Previous Topic: Lotus notes no me deja abrir las imagenes .jpg
Next Topic: CONOCEN algun commano en CTL para subir una data especial en Oracle
Goto Forum:
  


Current Time: Fri Jan 24 14:45:47 CST 2020