SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: Devilcpc en Domingo 27 de Junio de 2004, 22:32

Título: Registro
Publicado por: Devilcpc en Domingo 27 de Junio de 2004, 22:32
buenas
tengo un programa q al principio del mismo se requiere q el usuario haga un login con su nombre de usuario.

en otro formulario tengo una base de datos llamada TablaRegistro

lo q quiero hacer es q al hacer el login se gusrde cierta informacion en el registro, como el nombre del usuario q ingreso..

yo intente usar este comando pero me dio un error diciendome q no se podia escribir en la base de datos

FrmRegistro->TablaRegistro->FieldByName("Usuario")->AsString = CmpUsuario->Text;

alguien me puede decir porque no funciona o como puedo hacerlo??

Saludos  :hola:
Título: Re: Registro
Publicado por: _Viktor en Miércoles 30 de Junio de 2004, 01:39
Puedes poner el error que te resulta con ese codigo?

Saludos!
Título: Re: Registro
Publicado por: Devilcpc en Miércoles 30 de Junio de 2004, 03:08
Me funciona el programa, pero cuando llega al momento q tiene q guardar la informacion en la tabla me dice:

TablaRegistro: Dataset not in editor or insert mode
Título: Re: Registro
Publicado por: _Viktor en Miércoles 30 de Junio de 2004, 20:19
Prueba esto:

Código: Text
  1. FrmRegistro->TablaRegistro->Append();
  2. FrmRegistro->TablaRegistro->FieldByName("Usuario")->AsString = CmpUsuario->Text;
  3. FrmRegistro->TablaRegistro->Post();
  4.  

Saludos !
Título: Re: Registro
Publicado por: Devilcpc en Miércoles 30 de Junio de 2004, 23:32
muchas gracias por la respuesta, efectivamente ahora me funciona perfecto

ahora tengo otra duda, en el mismo registro tengo un campo para poner el dia en el q entro "dia", y tambien la hora de entrada "hora", como puedo hacer para guardar la hora y el dia en la tabla, ya le puse como tipo de datos hora y dia respectivamente a los campos cuando construi  la tabla

si no me explique bien avisame

Saludos  :hola:
Título: Re: Registro
Publicado por: Devilcpc en Jueves 1 de Julio de 2004, 03:49
deja, ya solucione eso

ahora el error q se me produce es cuando corro el programa y quiero ver el registro, despues al salir el programa se tiene q guardar la hora de salida y me dice el mismo error q antes, q no se encuentra en insert or editor mode, pero si corro el programa sin ver el registro me funciona todo bien, es como q al mostrar la taba con el registro ya no puede agregarle la informacion...

Saludos  :(
Título: Re: Registro
Publicado por: Devilcpc en Lunes 5 de Julio de 2004, 00:51
a ver si me explico un poco mejor, el programa tiene q guardar q usuario se conecto, el dia, la hora de entrada y la hora de slaida...

apenas ingresa el usuario guardo el nombre de usuario, el dia y lahora de entrada de la sig forma:

Código: Text
  1.  
  2. FrmRegistro->TablaRegistro->Append();
  3.   FrmRegistro->TablaRegistro->FieldByName("Usuario")->AsString = CmpUsuario->Text;
  4.   FrmRegistro->TablaRegistro->FieldByName("Dia")->AsString = DateTimeToStr(Date());
  5.   FrmRegistro->TablaRegistro->FieldByName("Hora Entrada")->AsString = TimeToStr(Time());
  6.  
  7.  

despues al cerrar el programa guardo la hora de salida de la sig forma:
Código: Text
  1.  
  2. FrmRegistro->TablaRegistro->FieldByName("Hora Salida")->AsString = TimeToStr(Time());
  3. FrmRegistro->TablaRegistro->Post();
  4.  
  5.  

el programa funciona perfecto excepto cuando en medio del programa yo quiero ver el registro y despues al salir, cuando quiere guardar la hora de salida me tira el error de q no se encuentra en edit or insert mode..

espero haberme explicvado mejor
Título: Re: Registro
Publicado por: _Viktor en Lunes 5 de Julio de 2004, 18:44
Hola lo que podrias hacer es guardar el usuario, fecha y hora del inicio en variables al iniciar sesion, es decir, declaras esto como parte del formulario en el archivo cabecera (.h):


Código: Text
  1. public:
  2.      String sUser;
  3.      TDate dFecha;
  4.      TTime tHora;
  5.  

Luego al iniciar sesion:

Código: Text
  1. sUser = CmpUsuario->Text;
  2. dFecha = Date();
  3. tHora = Time();
  4.  

Y finalmente insertas de una vez los datos en la tabla:

     

Código: Text
  1. FrmRegistro->TablaRegistro->Append();
  2.  FrmRegistro->TablaRegistro->FieldByName("Usuario")->AsString = sUser;
  3.  FrmRegistro->TablaRegistro->FieldByName("Dia")->AsString = DateToStr(dFecha)
  4.  FrmRegistro->TablaRegistro->FieldByName("Hora Entrada")->AsString =  TimeToStr(tHora);
  5. FrmRegistro->TablaRegistro->FieldByName("Hora Salida")->AsString = TimeToStr(Time());
  6. FrmRegistro->TablaRegistro->Post();
  7.  


Te vale eso ?.
Saludos!
Título: Re: Registro
Publicado por: Devilcpc en Martes 6 de Julio de 2004, 03:12
muchas gracias por la solucion, ahora me funciona perfecto

Saludos   :hola: :kicking: