FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ejecucion:No modifica los campos de un Query (Delphi)
Planteo mi problema:
Estoy realizando un pequeño sistema en Delphi con Base de Datos SQL SERVER 2000. Tengo dos tablas BDusuario y otra BDbitacora creadas en SQL, Y el el Módulo de Delphi he creado las respectivas tablas, y tambien estoy usando un Query (<--QbitUsuario), donde selecciono todo los campos de las dos tablas (Usuario y Bitacora) comparando sus llaves en este caso es CiUsuario: Select * From DBusuario,DBbitacora Where CiUsuario=CiU Todo bien hasta esta parte. Pero una vez que ejecuto el sistema, ingreso el password y si es correcta la contraseña pues ahi programe lo sigte, donde Q <--es el Modulo donde esta el Query<--QbitUsuario y su DataSource Q.QbitUsuario.Append; Q.QbitUsuario.Insert; Q.QbitUsuario.Edit; Q.QbitUsuario['CiUsuario']:=DM.Tusuario['CiUsuario']; Q.QbitUsuario['NomUsuario']:=DM.Tusuario['NomUsuario']; Q.QbitUsuario['ApePU']:=DM.Tusuario['ApePU']; Q.QbitUsuario['NivelU']:=DM.Tusuario['NivelU']; Q.QbitUsuario['Fec_Ingreso']:=Date; Q.QbitUsuario['Hr_Ingreso']:=Time; Q.QbitUsuario.Post; Con est código quiero que me registre en QbitUsuario los usuarios que estan ingresando al sistema, la hora y la fecha. Y una vez terminado las tareas, pues debo cerrar el sistema. Y donde esta el boton SalirSistema programe lo siguiente: Recordando "Q" es el Modulo donde esta el Query<--QbitUsuario procedure TFprincipal.SalirSistemaClick(Sender: TObject); begin With Q do Begin QbitUsuario.Append; QbitUsuario.Edit; QbitUsuario.Insert; QbitUsuario['Hr_Salida']:=Time; QbitUsuario.Post; End; Application.Terminate; //close; end; Y justo cuando estoy por terminar la aplicacion me aparece el siguiente error: Project Pbecarios.exe raised exception class EDBEngineError with message 'QbitUsuario:Cannot modify a read-only dataset'.Process stopped. Use Step or Run to continue. Pues revicé en sus propiedades ya no se donde es el error...y luego me aparece el siguiente error, despues de hacer click en OK. QbitUsuario:Cannot modify a read-only dataset Por favor preciso sus ayudas. Gracias! |
#2
|
||||
|
||||
Cita:
Otra cosa es que estas trabajando con una Query y para modificar directamente datos en una query debes poner el requestlive=true
Igual en este caso Cita:
Ojala te sirvan esos consejos, aunque veo que estas usando el objeto query como que fuera un TTable, seria mejor ingresarle el sql.text atravez de un boton para hacer el insert o update de lo que necesitas. Saludos
__________________
Si robas, roba un beso, si mientes que sea por amor y si engañas que sea a la muerte!! |
#3
|
|||
|
|||
Esto ya te lo había respondido yo en otro hilo que creaste, te había dicho que necesitabas usar insert para datos nuevos y edit para modificar datos existentes.
Hasta me acuerdo que tu error era que intentabas agregar los datos con post sin haber puesto la tabla en modo insert. Tratá de no abrir más de un hilo para la misma pregunta, y también tratá de leer las respuestas. Espero que con la respuesta de afunez2007 te haya quedado claro y no habras otro hilo de nuevo con lo mismo |
#4
|
|||
|
|||
Cita:
Antes que nada gracias por tu ayuda. Hice lo que me dices. Pero cuando estoy ejecutando e ingreso al sistema pues me parece este msj. : Project Pbecarios.exe raised exception class EDatabaseError with message 'QbitUsuario:Cannot modify a read-only dataset'.Process stopped. Use Step or Run to continue. Después de hacer click en OK. aparece el sigte msj.: QbitUsuario:Cannot modify a read-only dataset Luego ingreso a los otros formularios sin problema, solo cuando ingreso al formulario para ver quienes ingresaron al sistema con la horas y fechas pues me aparece el form en blanco, sin ningun dato registrado. Y cuando quiero salir del sistema vuelve aparecerme: Project Pbecarios.exe raised exception class EDatabaseError with message 'QbitUsuario:Cannot modify a read-only dataset'.Process stopped. Use Step or Run to continue. Después de hacer click en OK. aparece el sigte msj.: QbitUsuario:Cannot modify a read-only dataset Y tengo q salir de otra forma (Crtl+Alt+Supr) del sistema. Por favor... |
#5
|
|||
|
|||
Hola!
Antes que nada gracias por tu ayuda. Hice lo que me dices. Pero cuando estoy ejecutando e ingreso al sistema pues me parece este msj. : Project Pbecarios.exe raised exception class EDatabaseError with message 'QbitUsuario:Cannot modify a read-only dataset'.Process stopped. Use Step or Run to continue. Después de hacer click en OK. aparece el sigte msj.: QbitUsuario:Cannot modify a read-only dataset Luego ingreso a los otros formularios sin problema, solo cuando ingreso al formulario para ver quienes ingresaron al sistema con la horas y fechas pues me aparece el form en blanco, sin ningun dato registrado. Y cuando quiero salir del sistema vuelve aparecerme: Project Pbecarios.exe raised exception class EDatabaseError with message 'QbitUsuario:Cannot modify a read-only dataset'.Process stopped. Use Step or Run to continue. Después de hacer click en OK. aparece el sigte msj.: QbitUsuario:Cannot modify a read-only dataset Y tengo q salir de otra forma (Crtl+Alt+Supr) del sistema. Por favor... Nota: (Puedes explicarme como es lo de SQL.TEX?) |
#6
|
||||
|
||||
Exactamente es muy normal que te de ese tipo de problemas ya que esa programacion corresponde a un objeto de TTable y no un TQuery como ya te habia dicho, si quieres utilizar con query, obviamente tienque que ser una query distinta y deberia ser algo asi como:
Como veras se trabaja directamente en lenguaje SQL y no utilizando programacion delphi para trabajar como si fueran objetos TTable que era como lo intentabas hacer. Espero te sirva
__________________
Si robas, roba un beso, si mientes que sea por amor y si engañas que sea a la muerte!! |
#7
|
|||
|
|||
Tienes toda la razón afunez2007, por el momento he solucionado el problema que tenia con las consultas y las tablas.
Muuuuchas gracias! |
#8
|
||||
|
||||
Exelente, es un verdadero placer colaborar, maxime recordando los dias en que yo estaba crudo en programacion delphi y los integrantes de este foro muy amablemente me han ayudado
Saludos
__________________
Si robas, roba un beso, si mientes que sea por amor y si engañas que sea a la muerte!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como cargar un Query en tiempo de ejecucion | sancarlos | SQL | 1 | 15-08-2008 05:24:09 |
quickreport con query en ejecucion | lejia | Impresión | 13 | 14-01-2008 22:02:51 |
Ejecución de query sin congelamiento | fryguy | SQL | 3 | 20-07-2005 15:08:58 |
IBDataset no modifica | istradlin | Conexión con bases de datos | 2 | 19-04-2005 23:44:22 |
Campos de una Query | silviodp | Impresión | 1 | 18-05-2004 17:30:42 |
|