![]() |
![]() |
| Paypal | 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
|
|||
|
|||
|
Gracias por tu respuesta Luis Fernando, lo voy a probar aunque aun me queda la duda, pues se supone que El IBDataset es un producto de dos componentes IBX como son el el IBQuery y el IBUpdateSql y deberia tener la capacidad de hacer lo que intento, en fin se me hace que ¡¡he vivido engañado!!
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
|
#2
|
|||
|
|||
|
pues no!
Algo anda mal, no me funciona. Tal vez estoy mal en el concepto de lo que quiero hacer. Tengo una tabla: ID - Bascula - campoX - CampoY ========================= 1 1 xx yy 2 2 xx yy 3 3 xx yy 4 4 xx yy || || || 1150 1 xx yy 1151 2 xx yy 1152 3 xx yy 1153 4 xx yy Lo que necesito es borrar todos los registros que cumplan la condicion del indice (1 o 2 o 3 o 4) de la consulta por eso
¿?¿? NPI
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
|
#3
|
|||
|
|||
|
Lo que pasa es que los TIBDataset exigen que exista una clausula select, las demas propiedades SQL son opcionales y creo que tu no utilizas el select.
Me da la impresion que por esos lados puede ser el problema, porque en tu tabla no existe un campo 'Borrar'. Bueno estas con Firebird 2 y yo no he trabajado con esa version. Porque no pruebas con el nombre del parametro en mayusculas 'BORRAR'. La otra posibilidad aunque queda algo feo es cambiar tu segmento de codigo de manera que no utilices parametros, asi:
Si no te funciona porque no utilizas un procedimiento almacenado.
__________________
Luis Fernando Buelvas T. |
|
#4
|
||||
|
||||
|
¡¡ quieto parao !!
Me parece que estás complicando la cosa mucho, lo simple es esto: - En el ibdataset, escribe el selectSQL, típico: select * from tabla - ahora clic derecho en el tibdataset y elige la opción "dataset editor" - Obtienes una ventana donde puedes elegir la tabla y los campos, por defecto te aparece la sql de select que escribiste antes y en esta ventana: - configura un dbnavigator que apunte a ese datasource - Listo, ya puedes borrar registros, añadir, modificar y seleccionar. Las SQLs ya no tienes que tocarlas para nada, ni tampoco pasarle parámetros, se usará el registro que esté en pantalla (obviamente moviéndote con el dbnavigator). Edito: Aunque puedes configurar la propiedad DeleteSQL para borrar un grupo de registros, no lo considero oportuno, el DELETESQL es para el registro que se encuentre activo. Si necesitas borrar un grupo de registros, usa un Query o un procedimiento almacenado. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 15-10-2008 a las 11:33:23. |
|
#5
|
|||
|
|||
|
Hola!
Lepe, Luis Fernando, todo el procedimiento que me describen sobre la generacion de la sentencia SELECT y la configuracion a traves del Dataset Editor ya esta realizado, eso ya lo tenia desde el inicio, el detalle esta en esto ultimo que me explicas Lepe, yo quiero cambiar la sentencia DELETE que genero el Dataset editor, pero si no sirve para lo que quiero (borrar un grupo de registros) entonces si debo de cambiar de estrategia -en este caso componente- Ya les comentare que paso.
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
|
#6
|
|||
|
|||
|
Pues ya cambie a un query y ahora me resulta algo mas interesante..
![]()
al ejecutar me aparece esto --------------------------- Debugger Exception Notification --------------------------- Project Captura.exe raised exception class EIBInterBaseError with message 'Dynamic SQL Error SQL error code = -104 Token unknown - line 1, column 8 *'. Process stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- es decir que ¡¡no reconoce a *!! ![]() ![]() ![]() ![]() ¿que tiene ese DELETE que lo hace tan complicado?![]()
__________________
ESTO ES UN FORO ... NO UN MÓVIL ¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender? |
|
#7
|
||||
|
||||
|
Hola FGarcia,
No dejes que el SQL te quite el sueño. El tema del DELETE y el asterisco es que se debe a dos cosas :1. O Borras todo el registro o no borras nada. No puedes pedirle al motor que borre algunos campos. El DELETE afecta a todo el registro, por tanto no le interesa cuantos campos tenga. 2. Como corolario de 1, el estándar SQL definió que la sentencia DELETE se establezca del siguiente modo:
Saludos, Última edición por Delphius fecha: 15-10-2008 a las 19:40:57. Razón: me equivoqué de etiquetas |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| como borrar datos de una tabla | majuub | Varios | 6 | 23-05-2007 20:07:30 |
| Borrar todos los datos de una tabla | dariana20 | SQL | 8 | 07-06-2006 18:09:04 |
| Borrar datos duplicados | Sr.Scorpion | Conexión con bases de datos | 4 | 20-06-2005 20:52:57 |
| borrar datos de varias tablas | davidfp | SQL | 1 | 02-06-2005 19:23:47 |
| Borrar datos de tablas | JuanSB | MS SQL Server | 2 | 11-10-2004 18:03:14 |
|