![]() |
Como crear una sentencia SQL (Insert, update y delete)
Es un poco largo pero espero me disculpen.
Estoy tratando de mejorar mi aplicación disminuyendo la cantidad de codigo SQL que uso. Por eso, creé un procedimiento que genera las sentencias SQL necesarias para incluir, modificar y borrar registros.
Como pueden ver toma los parametros: IdAcc: la accion (incluir modificar o borrar Tabla: El Nombre de la tabla q: la tabla de "Lectura" (un select) aqui esta el problema u: la Query para actualizar Where: el filtro para la actualización En la mayoria de los casos todo funciono muy bien, me causo un problema (que esperaba) con los campos de autoincremento que solucione con el -If Not (q.Fields[i] is TAutoIncField) then- Pero tengo el problema de los campos "forzados" (no se cual es el nombre exacto) me explico. En algunas consultas y para poder usar los mismos formularios para diferentes bases de datos, tengo que agregar campos que no están en la base de datos:
En el caso anterior el campo IdComprob es un AutoInc y no causa problemas pero el campo "Control" lo fuerzo (para poder asignar los valores de los TEdit valiendome de una rutina generica y el tag)
Parece una rutina larga pero en realidad simplifica mucho las cosas. Ahora bien, como puedo saber si un campo de un TQuery corresponde a un campo real en una base de datos o es un campo "Forzado". Tal vez pueda agregar un prefijo o algo así al nombre del campo (en el Select), pero acepto cualquier otra idea porque no se que otros efectos pueda tener. Gracias. |
Resolví el problema.
Como lo mencioné todo lo que tuve que hacer fue agregarle el prefijo 'xx' al nombre del campo "forzado" y cambiar las líneas:
por
Por cierto ¿ alguien sabe si los campos "forzados" tienen algn nombre específico ? Salu2 y Gracias |
La franja horaria es GMT +2. Ahora son las 10:26:25. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi