FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Bueno, hasta ahora he logrado convertir mis BD Paradox a Mysql con una herramienta, todo bien hasta ahora...
Estuve practicando con un formulario nuevo para visualizar los datos de la Tabla (ahora en sql) en un DBGrid, agregé un AdoConnection + DataSoucer + AdoQuery Logre hacer una buena conección a la Base de datos conectando el DataSoucer al ADOQuery y el ADOQuery al ADOConecction. Lo active y listo .. se visualizó mis datos en en DBGrid, incluso agregué un DBText vinculando con un ADOTable para que igual alli me mostrara los datos ... Practiqué la búsqueda con e ADOQuery ta cual lo hacia con el Query y veo funcionó muy bien .. eso si, es ligeramente tardado la búsqueda pero la realiza finalmente. Ahora lo que intenté es hacer la opción de Editar un campo .. usé el ADOTable con el siguiente código .. Antes con el Table buscaba el campo llave para posicionarme en el registro y así poder realizar el cambio .. lo hacía con Table1.FindKey([algo]), por ejemplo Código PHP:
Código PHP:
Alguna idea o voy mal ?? |
#2
|
||||
|
||||
Cita:
Te funcionará, pero no es eficiente, porque está pensado para tablas en Local. ADO funciona tanto con Bases de Datos (locales) como con SGBD (en red) y algunas operaciones están pensadas para los primero y otras para los segundos. Esto tiene que ver con lo comentado en el mensaje anterior. Es cuestión de cambiar de mentalidad. Locate hace un recorrido secuencial por la tabla, hasta que encuentra el registro deseado. En local no hay problemas, pero en red y con una tabla un poco grande te va a consumir muchos recursos y te va a tardar mucho tiempo. Te va a funcionar, pero creo que en tu nuevo "escenario" no es aconsejable. Para ello puedes usar SQL. Una simple SQL (TADOQuery) utilizando el ID es mucho más eficiente y rápida.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Cita:
Código PHP:
Lo curioso de este es que si me lo edita, pero solo el 1 registro de la tabla, por ejemplo hago la consulta ... en la tabla hay varios ID (1....20) hice una consulta y en el DBTExt me pone el ID consultado, por ejemplo el ID = 4, ahora en el Edit1 coloco un nombre para que actualize el campo "nombre" del ID 4, al darle click actualiza el campo pero NO de ID 4 si no del primer registro. Estaré haciendo algo mal? |
#4
|
||||
|
||||
El código que has colocado no tiene mucho sentido.
1) haces una búsqueda con un ADOQuery. Esa búsqueda encontrará uno o varios registros. 2) Luego compruebas si el Dataset está vacío para saber si ha encontrado algún registro. (hasta aquí parece correcto) 3) Entonces si ha encontrado algún registro, intentas modificarlo usando un ADOTable, que es otro componente y que no se sabe dónde está apuntando... (aquí está la incongruencia) O usas el ADOQuery para todo o el ADOTable para todo, pero estás mezclando ambos. Por otro lado te recomiendo que utilices parámetros a la hora de montar las sentencias SQL, en lugar de concatenar cadenas.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Cita:
Veo que puedo seguir usando el mismo código pero en lugar de las TTable ahora use ADOQuery, pasó algo curioso .. a hacer la actualización de un campo, recuerdo que en paradox se usaba e flushbuffer para guardar directamente a la tabla, qui ya no se requiere eso en caso de perdida de conección o corte de luz al momento de la transacción? |
#6
|
||||
|
||||
Cita:
Estamos haciendo operaciones simples. Si al cortarse la luz se ha hecho estará hecha, si no ha dado tiempo no lo estará. Otra cosa son transacciones. Es decir, varias operaciones que debes hacer en bloque. O se hacen todas o no se hace ninguna. Para eso tienes los métodos (relacionados con ADO) de BeginTrans, CommitTrans y RollbackTrans. Si buscas en la ayuda o en los foros encontrarás ejemplos de utilización. http://docwiki.embarcadero.com/Libra...ion.BeginTrans http://docwiki.embarcadero.com/Libra...on.CommitTrans http://docwiki.embarcadero.com/Libra....RollbackTrans
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Mapeo, migración de MySQL a MS SQL Server | CHECHE81 | MySQL | 0 | 11-09-2014 00:07:18 |
migración paradox a SQL Server 2005. Boolean? | Carmelo Cash | Conexión con bases de datos | 2 | 05-09-2008 17:58:54 |
Migracion Mysql 4 a 5 | teroga | MySQL | 2 | 23-04-2008 10:43:29 |
migracion de paradox a SQL 2000 Server | martita | MS SQL Server | 6 | 16-10-2006 10:11:15 |
Migración Archivos Planos a MySQL - Velocidad | samantha jones | Conexión con bases de datos | 3 | 19-01-2006 01:25:11 |
|