FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Post, Crea o modifica?
Hola!
Tengo una dudilla que no se como resolverla. Estoy trabajando en delphi 7 con Access. Cuando quiero ingresar un registro nuevo hago ADOQuery1.insert y cuando quiero modicarlo ADOQuery1.edit. Una vez termino para guardar los canvio hago ADOQuery.post. El problema está en que cuando hago el post necesitaria saber si he heco el post de un insert o el post de un edit porque tengo que hacer comprovaciones distintas en cada uno de los casos. Alguien sabe como puedo saberlo? Muchas Gracias!! |
#3
|
||||
|
||||
Error en dsInsert
Siguiendo el hilo me dice el error.
[Error] Compras.pas(417): Undeclared identifier: 'dsInsert' y el codigo es simple.
Es aqui donde se coloca y muestra el error. ¿Porque? me faltara a algun unit?? Uso tablas paradox 7 y delphi 7.
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera. Última edición por dec fecha: 02-08-2006 a las 09:17:34. |
#5
|
||||
|
||||
Persiste ele Error
Sorry amigo, pero me sigue dando el mismo error.
[Error] Compras.pas(419): Undeclared identifier: 'dsInsert' IF (Key=#13) THEN BEGIN IF DBGrid1.Fields[0].Value<>Null THEN Begin IF MD.tbMovCom.State IN dsInsert THEN ShowMessage('Pasa a Modificar') // MD.tbMovCom.Post; End; END; Gracias ¿me puedes ayudar?
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera. |
#6
|
||||
|
||||
Cita:
// Saludos |
#7
|
|||
|
|||
Lee mi ejemplo.
El dsInsert debe estar entre corchetes [dsInsert] Tambien puedes revisar la ayuda de State, es muy sencillo, solo hay que pulsar F1. Saludos |
#8
|
||||
|
||||
Gracias amigos
Resuelto el problema, me faltaba el [] y el unit DB.
Muchas gracias nuevamente.
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera. |
#10
|
||||
|
||||
Si gracias.
ya lo verifique y el codigo inicial estaba bien tb solo faltaba el unit DB.
Gracias...
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera. |
#11
|
|||
|
|||
Cita:
Yo uso el IN, porque el tipo TDataSetState puede tener diferentes valores, y a veces me interesa que se realice una acción si se cumplen alguno de los valores. Usando el IN no tengo que hacer un OR. Y si usas IN, el tipo a de ir entre corchetes, creo yo.... En este caso concreto no hacia falta el IN, y lo de la unit db no se me había ocurrido, ya que en mi caso, esa unit se añade automaticamente. |
#12
|
||||
|
||||
Así es, State puede tener varios valores y cuando interesa saber si es uno de entre varios entonces IN es lo mejor. De hecho, cuando más lo he usado es justo para lo contrario: saber si el DataSet está en edición o inserción sin importar cuál exactamente:
y coincido contigo pues es mucho más cómodo que usando OR. Por cierto, en esa misma unidad DB se define la constante
de manera que de hecho se puede poner
para saber si el DataSet se está editando. // Saludos |
#13
|
|||
|
|||
Yo lo uso exactamente para los mismo, para saber cuando esta en modo edición.
Y no conocia dsEditModes, asi que otra cosa más que he aprendido hoy. |
#14
|
||||
|
||||
aaa que genail
Gracias yo tambien he aprendido algomas y vastante mas.
Una pequeña consulta y para que me aconsejen, yo uso tablas paradox, y aqui he escuchado mucho hablar de SQL o MySql, lo que estoy usando (paradox), me servira para una red o es preferible aprender de inmediato MySql. Recuerden q soy novato en Delphi. Gracias por las Ayudas recibidas..
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera. |
#15
|
|||
|
|||
La pregunta es tan amplia.......
Paradox en red funciona mal. Se que algunos diran que se puede hacer, pero en mi opinión funciona mal. Paradox no se diseñó para usarlo en red. En cualquier caso, si utilizas paradox en red, tendrás que utilizar SQL, ya que con objetos TTable es una locura. SQL es un estandar de lenguaje para acceder a bases de datos. No es una base de datos en si misma, sino un conjunto de reglas comunes a todas (o casi todas) las bases de datos. Asi que no tienes que aprender MySQL, sino SQL. Luego tendrás que decidir que motor de base de datos es mejor para la aplicación que estes desarrollando. Yo prefiero FireBird antes que MySql, pero es para gustos. Y para terminar, cada motor de base de datos suele tener sus extensiones a la norma general de SQL, de modo que las sentencias SQL "basicas" son las mismas, pero cada GDB te permitirá ciertas funciones "extendidas". Mi recomendación, por experiencia propia, cuanto antes migres TODO a SQL mejor, aunque el proyecto sea pequeño, nunca se sabe.... |
#16
|
||||
|
||||
Mil gracias...
Mil gracias por el consejo, terminare este pequeño proyecto de pruebas q estoy haciendo y me pondre en marcha a aprender SQL.
Gracias.. Amigo
__________________
Solo se q nada Se, Cada dia es un aprendisaje y asi siempre sera. |
#17
|
||||
|
||||
Hola, en mi opinión la gran limitante de paradox es la cantidad de usuarios y/o información que puede manejar. No obstante, prácticamente no he tenido problema alguno al usarlo en red. Pero además, sea o no en red, definitivamente paradox está hecho para ser usado con componentes Table. El SQL que maneja no es más que una emulación que trabaja muy lento. SQL es la mejor opción cuando se usa con motores que realmente son cliente-servidor. Con paradox la cosa es alrevés. Las componentes Table están diseñadas para trabajar con los índices que se establecen mientras que TQuery no usa esos índices y cualquier consulta SQL que no use índices es, la más de las veces, muy lenta.
Eso sí, el hecho de no ser cliente-servidor y de haber actualmente varias opciones libres que sí lo son (como las que menciona Sick boy), hace difícil entender que se siga optando por paradox, o access que para el caso es lo mismo. Por otra parte, destrukthor, te recomiendo que esto último que preguntas lo hagas en otro hilo o busques en los foros porque nos estamos saliendo del tema original. // Saludos |
#18
|
|||
|
|||
Yo ya sabia que hay gente trabajando con paradox en red y que les funciona bien!!!
pero Cita:
No coincido con lo de los indices y los querys, pero puedo estar equivocado. Con lo que coincido es que ya no tiene mucho sentido usar paradox, y pasarte el dia reconstruyendo indices, reparando autoincrementales y liberando los lck. Y es cierto que hay que abrir otro hilo, porque esto ya es otro tema. |
#19
|
||||
|
||||
Cita:
No obstante, como estamos de acuerdo en ya no usar paradox, pues mal haríamos discutiendo de algo que ninguno va a usar // Saludos |
#20
|
|||
|
|||
Cita:
O cuando el windows se cuelga.... O cuando intenta enredar en la base de datos desde access... Cuando el sistema esta vendido a muchos clientes, estos casos "raros" suceden casi a diario. De hecho, hice una aplicación que detectaba estos cierres "bruscos" y reparaba de forma automatica, lo cual me quitaba muchos dolores de cabeza. Pero, y cuando de vez en cuando desparecen datos?? Podriamos abrir otro hilo y poner a parir a Paradox, dBase y compañia, y compararlas con las bases de datos libres actuales (FB, MySQL, DB2, ...), que también tienen sus cositas. Por mi parte, creo que este hilo ha sobrepasado el proposito inicial, no te parece?? |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
IBDatase Insert Post Edit Post | ariefez | Firebird e Interbase | 4 | 12-10-2005 01:53:04 |
RARISIMO mismo codigo cosas distintas no modifica campo TEXTO | Patricio | Conexión con bases de datos | 1 | 10-08-2005 21:29:53 |
IBDataset no modifica | istradlin | Conexión con bases de datos | 2 | 19-04-2005 23:44:22 |
No me inserta un registro nuevo, me modifica el anterior | vhirginia | Conexión con bases de datos | 10 | 11-05-2004 13:04:38 |
No me crea la bd al instalar | davgoncam | Oracle | 8 | 07-03-2004 14:31:26 |
|