FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#21
|
||||
|
||||
Hola Lepe ahora si que estoy perdido no se ni que hacer.. o no te entendí bién esta frase:
Cita:
Cita:
Cita:
Cita:
me elimina todos los datos del id_producto 1 como debe ser, y además elimina de la tabla TARIFAS todos las listas de precios que tienen el id_producto = 1 Osea que esta funcionando bién, ahora mi problema sería con delphi que no se como enlazar los componentes Zquery, Z,Table, DataSource uno con otros para soluionar mi problema.. bueno espero poder haber sido claro, y creo que estoy a punto de superar este mi problema.. se que es algo fácil pero que no puedo darme cuenta, necesito un empujoncito Lepe saludos |
#22
|
||||
|
||||
Los cálculos de porcentajes deberías hacerlos antes de guardar, ya que al presionar una tecla, si usa retroceso para borrar todos los caracteres, cuando no quede ninguno, obtendrás un bonito " '' is not a valid float".
El cálculo, igual pero más simple:
Incluso podría hacerse en un trigger before update y before Insert, los cálculos los haría el servidor y no tú desde delphi. Esta idea no viene de la nada, viene de haber leído los manuales de Interbase 6 y Firebird, de ahí que te sugiera estudiar lo propio en MySql. Sabiendo de antemano que es un trigger, como funciona, como se implementa, cuando se ejecuta, etc, tendrás tu mente "más abierta" para solucionar los problemas que te lleguen. La verdad es que me he confundido con el tema de "MyDataset". Si usas los componentes Zeos, tendrás un ZTable, ZQuery, ZDataset (éste último es al que me refiero), en cliente servidor jamás debería usarse un ZTable, ese componente yo lo veo ahí por compatibilidad y migración, pero no para usarlo en aplicaciones nuevas. Deberías usar un ZDataset y traer solo el registro que desees modificar. Por mi desconocimiento de los componentes Zeos, no sé si existirá el componente "ZDataset" con ese nombre, puede que tenga otro nombre... a ver si alguien que trabaje con Zeos puede ser más específico. Para el problema de "unir querys con Grids y demás" mira en la cara oculta de delphi 4, las relaciones Maestro-Detalle es lo que necesitas. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#23
|
||||
|
||||
Bueno pues según lo que ví en las componentes ZEOS tengo esto en las paletas
ZConnection: TZConnection ZReadOnlyQuery: ZDataSet ZQuery: ZDataSet ZTable : ZDataSet ZUpdateSQL: ZsqlUpdate ZStoredProc: ZstoredProcedure ZSQLMetadata: ZSQLMetadata ZSQLProcessor: ZSQLProcessor ZSQLMonitor : ZSQLMonitor ZSequence : ZSequence Bueno supongo que alos que te refieres don ZDataSet es a los 3 componentes no ?? pero mas seguro solo el ZQUERY por que me dijiste que decarte el STable, bueno eso es lo que haré entonces.. ahora con respecto al porcentaje pues lo tendré que hacer de tu modo por que como dices avees me daba el No is valid integer pero no era bonito era feo xDD y ahora sobre los tigers me pondré mañana mismo a leer sobre eso tenloo por seguro al igual que lo hice con la integridad referencial que me lo aprendí muy bién y ahora se algo nuevo ahora sobre el maestro detalle, eso es lo que quería saber.. no sabía con que nombre buscar eso, ahora que lo se tambien tenlo por seguro que lo leere, ya que tengo aquí la cara oculta de delphi 4 y otros manuales en pdf muy buenos. ademas de un libro de anaya que esta bién nomas.. bueno pues Lepe muchas gracias por las recomendaciones y consejos, se que me servirán de ahora en delante para hacer mas sencillas las cosas saludos y gracias nuevamente. PD mañana posteo algunas dudas xDD |
#24
|
||||
|
||||
Bueno aquí vendo despuies de 2 días haber escrito mi último post
Lepe mira, he estado leyendo todos estos días el foro-.. buscando sobre maetro/detalle y encontré vários temas pero no logro entender su funcionamiento.. vamos me doy cuenta de lo que se devería hacer un maestro/detalle, aquí encontré un post explican algo de eso y logré entender algo http://www.clubdelphi.com/foros/show...aestro+detalle Pero no es suficiente para poder hacer lo que yo quiero.. en primer lugar NO quiero poner ningún DBGrid en mi form.. con DBEdits me bastaría, tu dices que me olvide de los DBEdits y las ZTAbles, entonces como guardaría un producto ?? SI ya se que se podría hacer con SQL y no es difícil, pero tendría que tomar los datos de Edits verdad ?? o de donde mas lo tomaría ?? ahora.. mi problema esta en querer actualizar un producto y sus 6 precios que tengo en la otra base de datos, podría ser con puro SQL pero SE que no es lo correcto hacerlo, creo que debe haber alguna manéra de hacerlo mas sencillo Lo único que pretendo hacer es esto: Agregar un nuevo producto llenando unos DBEdits o EDits, luego llenar tambien unos DBEdits o Edits con los 6 precios que se alamcenarán en la otra tabla TARIFAS, bueno eso lo hice con SQL y copié el id_producto a la tabla TARIFAS por cada producto, cosa que quedaría así Un producto con todas las descripciones en la tabla PRODCUTOS y los 6 precios y sus códigos en la tabla TARIFAS, bueno hasta haý no hay problema, por que cuando elimino un producto tam,bién se eliminar los 5 precios, PERO el problema está al editar un producto no edita en la tabla TARIFAS con mi código que puse en los anteriores post, lo único que hace es editar los campor de la tabla PRODCUTOS pero NO edita los 6 precios y códigos de la tabla TARIFAS, lo que hace es agregarme los mismos 6 precios ( en el caso de que no modificaron los precios ) con el mismo id_producto, osea serían 12 precios para el id_producto y si otra ves actualizo me graba 6 precios mas xDD osea 18 ya serían.. lo único que quiero es que UPDATE los precios y códigos en la tabla TARIFAS.. eso es lo que quiero saber.. si tendría que hacerlo puro SQL ?? o hay algún componete como el ZUpdateQUery ???? he estado leyendo tambien sobre en en este tema http://www.clubdelphi.com/foros/show...=3802#post3802 o se si me serviría pero bueno.. para que no digan que no busco o que no leo la verdad es que me frustra no poder hacer algo tan secillo que parece.. y se que cuando aprenda diré : oh he sido un tonto al no poder hacer algo tan sencillo Y otra cosa.. que acreo que aquí viene lo de master/detail es que quiero mostrar los datos de los productos todo en uno, osea descripciones del producto que leere de la tabla PRODCUTOS y sus precios y códigos que leeré de la tabla TARIFAS, bueno ahora eso lo tengo que hacer puro SQL también ?? o con master/detail solo tengo que escojer los campos de las tablas ?? no entiendo muy bién que inutil que soy Bueno creo que lo mejor me vendría es un pequeño ejemplo de lo que pretendo hacer, aquí les dejo una pequeña base de datos relacionales.
Bueno a ver si alguien TAN amable me hace un ejemplo con esa pequeña base de datos.. como poder agregar 6 catidades para un mismo id_cliente y luego poder editarlo esto,,, además un master/detail con eso La verdad es que solo con eso creo que aprenderé o mejor dicho me daré cuenta en que es lo que fallo y que conceptos tengo mal definidos de lo que leí saludos y gracias por la ayuda |
#25
|
||||
|
||||
Como ya te dije, usa un ZDataset, es lo que necesitas para editar, insertar, borrar y seleccionar de una tabla.
Mira en este hilo los mensajes 7 y 8 Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#26
|
||||
|
||||
Cita:
Y me mandas a al mensaje 7, 8 donde claramente tu recomiendas unos componentes diferentes a los que suo, yo uso ZEOSlib + MYSQL y los que aconsejas con para Firebird http://www.clubdelphi.com/foros/show...65&postcount=7 Esos componentes pueden que tengas uno llamado MDODataset pero aquí no tengo alguno que se parece pero es obvio puesto que uso los ZEOS, ahora mi pregunta es.. ese ZDataset al que te refieres es el ZUpdateSQL que tienen las ZEOS ??? y en el aterior post te puse los componentes que tengo en esa paleta, pero te las pongo de nuevo por si no las viste. ZConnection: TZConnection ZReadOnlyQuery: ZDataSet ZQuery: ZDataSet ZTable : ZDataSet ZUpdateSQL: ZsqlUpdate ZStoredProc: ZstoredProcedure ZSQLMetadata: ZSQLMetadata ZSQLProcessor: ZSQLProcessor ZSQLMonitor : ZSQLMonitor ZSequence : ZSequence Bueno yo ahora estoy usando ZQuery para insertar registros pero la verdad es que es un lio.. por que tengo que usar 2 para cada tabla se que lo hago mal. pero así funciona, la cosa es a la hora de actualizar, no tengo la menos idea de como hacerlo con unos Edits, puesto que ya no uso los DBEdits, lo que estaba haciendo es hacer una busqueda del producto a editar luego llenar los campos Edits, pero tengo problemas al llenar unos DBLookComboBox que son los que llenan sus Items leyendo de otra tabla, bueno creo que estoy muy perdido o es que me he confundido demasiado y quiero salir de esto Este es el código que estoy usando para agregar las descripciones de los productos a la tabla PRODUCTOS y códigos, precios, y listaprecios a la tabla TARIFAS
bueno por lo que verán es demasiado largo y se que se puede hacerlo mas fácil pero no lo se, saludos y espero me ayuden |
#27
|
||||
|
||||
Lo siento, como ves no uso esos componentes. Los ví cuando lo pusiste la primera vez, pero como no los conozco, no respondí, estuve esperando que otra persona que use Zeos pudiera afirmarlo.
Deber... debe exister ese componente, o quizás no lo hayan creado aún... en definitiva, no puedo asegurarte nada. Siento mi última intervención. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#28
|
||||
|
||||
Lepe pero tengo un componente que se llama ZsqlUpdate.. tiene esas 3 propiedades.. insert, delete, update creo que es a ese que te refieres no ??
no me abandones xDDDD saludos, a ver si álguien mas me echa una mano que tengo ganas de aprender salud! |
#29
|
||||
|
||||
Es que, no lo sé.
Yo tengo un MDODataset y un MDOUpdateSql, y son componentes distintos, el segundo no se usa igual que el primero. No tengo ni idea si en Zeos le han cambiado el nombre. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#30
|
||||
|
||||
jeje bueno Lepe, pero tranquilo, no te enojes xDD (broma)
Ya, ahora a esperar que álguien sepa o seguir buscando info, no creo que nadie haya necesitado alguna vés estos componentes con MySQL y tablas relacionales saludos y gracias |
#31
|
|||
|
|||
Algunas observaciones (disculpa el atrevimiento):
Para dinero en lugar de utilizar un campo FLOAT usa NUMERIC que guarda un valor exacto, el float redondea cada vez que se usa por lo que usarlo para dinero no es recomendable. Ten presente que si borras un producto, proveedor, cliente o cualquier otro nomenclador que hayas usado en documentos comerciales, perderás el historial. En el lugar donde trabajo esto es inaceptable, por lo que yo suelo usar un campo boolean para definir si el nomenclador está activo o no. No veo el objetivo de tener 6 precios en la base de datos si 5 siempre se van a calcular de la misma manera a partir del primero. Bien puedes calcular los valores en el momento en que vayas a mostrarlos en el formulario. Pero bueno, si vas a usar la tabla de precios, por qué mejor no usar solo el foreign key a id_producto y así no solo te ahorras ambos códigos, sino que puedes realizar joins y mostrar los campos que quieras? Otra cosa es que en vez de usar un stringgrid quizás sería mejor usar un clientdataset para así poder hacer updates más comodamente, creo que de hecho te simplificaría más las cosas porque podrías usar controles db-aware y usar instrucciones SQL que son más sencillas. En fin, suerte. |
#32
|
||||
|
||||
Hola gracias por los consejos, me servirán de mucho y tendré muy en cuenta sobre los precios, pues no lo sabía, ahora sobre los precios ya lo he discutido con mi jefe, yo quiería hacer así, tener un precios _base_ y a este asignarle 6 porcentajes diferentes para calcular el resto de los precios al momento de ponerlos al StringGrid Por ej, pero bueno jeje hay que hacer caso a los jafes y mas aún siendo este mi primer jefe xD
Ahora ya lo tengo todo listo.. he echo todo una chapucera, pero funciona ahora mismo son las 3:00 am en mi País y mañana pienso poner el código para que a alguien mas le sirva, aunque es mucho pero igual xD saludos d-hugo PD ahh es que ya tengo casi todo en mi stringGrind, sería como comenzar casi de nuevo con lo mucho que me esta costando |
#33
|
|||
|
|||
Cita:
Última edición por d-hugo fecha: 10-04-2007 a las 10:52:50. |
#34
|
||||
|
||||
Cita:
ahh tambien si me podría aclarar las dudas con el DATASET de los componentes ZOES lib, por que por lo que veo no las tienen y me han recomendado mucho saludos |
#35
|
|||
|
|||
Cita:
Con respecto al ZEOS, no puedo decirte la gran cosa, porque no lo he probado. |
#36
|
||||
|
||||
Bueno si, pero Lepe me ha hablado mucho de DataSet pero no los tengo en los ZEoS y si, si he visto el ClientDataSet, pero pensé que te referías a otro de los Zeos por ej, ahora como se usaría un ClientDataSet, y tu me dijiste que use en ClientDataSet en ves de un StringGrid pero la verdad es que yo no los veo nada de parecidos.. al princípio pensé que te referías al DBGrid pero veo que no, si me aclaras mis dudas te estaría muy agradecido.
saludos |
#37
|
||||
|
||||
Bueno despues de tanto luchar con este tema.. lo he logrado de una manera que aún no me convence pero que da resultados buenos, pero tambien tiene muuuuuchas contras, sin mas aquí les dejo mi código por si alguien lo quisiera usar, aunque estoy seguro que solo serviría para confundir aún mas
Bueno comenzemos.. como ya tengo las 2 tablas PRODUCTOS y la tabla TARIFAS en los anteriores post puse la estructura, así que no la repetiré Asi que este es el código con el cual AGREGO tooooodos los campos que tengo en diferentes edits y DataBaseComboBoxsLoock y un meno. AGREGAR PRODUCTOS Tengo estas variables definidas
Y el código del botón agregar si, ya se que esta largo y feo
pfff Bueno ahora toca el código de edición, para lo cual realizo una búsqueda por CodigoBarra y llenos los edits, DataBaseComboBoxLook y el meno BUSCAR Y LLENAR LOS COMPONTES Todo esto en el evento OnClik del boton búsqueda
continuaaa... Última edición por BlackDaemon fecha: 12-04-2007 a las 07:42:41. |
#38
|
||||
|
||||
Bueno y una ves llenados todos los componetes podemos editar a nustro gusto todo y luego tenemos que guardar los cambios con el boton GUARDAR que en su evento OnClick pongo esto.
Ahora ya estan editados nuentros datos en las 2 tablas.. Y por último eliminar un producto con sus respectivos precios, como la estructura de las 2 tablas PRODUCTOS y TARIFAS son relacionales entonces solo bastará eliminar el producto para que así se eliminen TODOS sus precios de la tabla TARIFAS Para que surta efecto tenemos que buscar primero el producto con el anterior código que puse de búsqueda.. e se llenan todos los componetes y esto va en el boton ELIIMINAR en el evento onclick
Los parámetros puse alejados de los 2 puntos por que me los pone como emoticons :_precioOld ahí quitan la barra baja que sería el espacio. bueno ya terminé el fin de pegar tanta basura de código, pero como digo lo pongo por 2 cosas.. una para que pueda servirle a alguien mas ( que lo dudo ) y la otra para que puedan dar una idea mejor de hacerla O tambien de implementar cosas como por ej a la hora de agregar un producto que si ya esta repetido el código me diga que ese código ya existe y tambien me habría gustado _mucho_ que en la busqueda sep ued abuscar con un LIKE y los resultados mostrarmelos en un DBGrid y luego el hacerle doble click "Recién" me llene los Edits, pero como veran no soy experto en delphi y trato de hacer lo mejor que puedo mis cosas.. saludos y suerte PD ahh para que esto no quede así he echo un pequeño ejemplo de su uso, pero con 3 pequeñas tablas y una interfáz, para que todo funcione lo único que tienen que tener las componentes ZEOSlib en su última versión, aunque tambien las otras les servirá ya que uso puros querys PD2 si el mensaje esta muuuuy largo, perdón y lo siento mucho, puedo quitarlo PD3 tienen solo que poner el user y pass de su base de datos en el componente ZConnection joder el adjunto se me fue en un mensaje anterior |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Actualizar Archivos Desde FTP | papu24ar | Varios | 4 | 21-03-2007 03:50:57 |
Actualizar una base de datos desde un servidor remoto | zvf | MySQL | 1 | 22-06-2006 22:21:26 |
Actualizar una base de datos desde un formulario | federiconqn21 | Varios | 1 | 14-12-2005 16:43:23 |
Impresión desde un StringGrid... | Lester | Impresión | 10 | 26-03-2005 07:14:29 |
Impresion desde un StringGrid | fmonte | Varios | 3 | 17-09-2004 05:28:29 |
|