FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con añadir registro a base de datos
Buen dia a todos, antes que nada quiero que observen este codigo
Lo que estoy tratando de hacer(inicialmente a manera de prueba) es que por ejemplo yo ingreso unos datos en un formulario, si me lo encuentra listo me muestra el mensaje Registro ya esta, eso ya funciona, el problema que tengo es listo ingreso los datos de un registro que no este en la base de datos me bota el mensaje pailas y lo que quiero a manera de prueba es que a manera de prueba me agregue lo que esta en ese Edt (EdtCedula) al la base de datos, segun la ayuda el metodo appenrecord me permite agregar registros al final de la base de datos, pero el erro que me bota dice mas o menos "QryCliente: No se puede modificar un Dataset de solo lectura"( es mas o menos mi traduccion ya que el mensaje en ingles no recuerdo pero se relaciona con esto), el problema es si con ese metodo me ahorro el usar la sentencia sql de insert (insert into .... values....), que tengo que corregir del codigo. Mil Gracias por su ayuda. |
#2
|
||||
|
||||
Antes de activar el query, poné esto:
hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
|||
|
|||
Agradecimientos
Mil Gracias Por Su Ayuda Ya Me Funciono, uan pregunta el registro me lo esta agregando al principio de la tabla, queria preguntarle como hago oque propiedad tengo que hacer para que me lo agregue al final.
Gracias uan vez mas |
#4
|
||||
|
||||
En las bases de datos SQL no existe una secuencia en los registros de una tabla, en otras palabras no existe tal cosa como "primer registro" o "último registro" de una tabla, que son conceptos usuales en manejadores de archivos de escritorio.
Para que el servidor te entregue los registros en un orden particular, existe la clausula "order by", que podes añadir a tu sentencia SQL. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
||||
|
||||
O lo que es lo mismo, debes definir un índice para tu tabla que servirá para que tu motor te entregue los registros ordenados de una cierta manera por default. Puedes usar un campo autoincrementado para llevar un secuencia según el orden en que fueron ingresados los registros.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#6
|
||||
|
||||
Cita:
El motor te devolverá los datos en un orden no definido. Por el contrario, si lanzás un query con la clausula order by, aún cuando el motor no tenga índices en que apoyarse, te entregará los datos perfectamente ordenados. El hecho de que existan o no índices, es un tema que tiene que ver con el desempeño de la base de datos, pero no con el ordenamiento de los resultados que devuelve un motor. AzidRain, no es conveniente generalizar en este tema, pues mientras algún motor probablemente se base en un índice (por ejemplo, el de la llave primaria) para entregar datos ordenados, el estándar SQL no le impone la obligación de hacerlo, con lo que el comportamiento podría variar entre versiones, y definitivamente varía entre motores. Dado que no estamos hablando de ningún motor en particular... es mejor hacer afirmaciones apegadas al estándar, y dejar que cada quien compruebe si su base de datos lo cumple o no. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#7
|
|||
|
|||
Hola...
mmm tal vez AzidRain quiso referirse al indice de la llave (o clave) primaria de la tabla... Por que siempre que haces un select * from Tabla, esta se ordena de acuerdo al campo sobre el cual está definida la llave primaria... Saludos... Edit: Eso me pasa por leer de prisa xDDD Puede que si sea diferente en distintos motores, pero al menos en los que he usado, si se cumple del que el orden predeterminado lo da la llave primaria... Saludos de nuevo... |
#8
|
||||
|
||||
Cita:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#9
|
|||
|
|||
Pues principalmente Interbase/Firebird...
Y un tiempo usé MS SQL Server... Aunque claro, no hay que descartar que sea la aplicación cliente quien ordene los resultados de ese modo cuando no existe la clausula order by... Saludos (ordenados diría Al Gonzalez ) |
#10
|
||||
|
||||
Cita:
Puedo probarlo únicamente ahora en Firebird. Como ves, el resultado no está ordenado por cliente. El hecho de que seleccione solamente los primeros 20 registros no afecta el ordenamiento. He hecho una consulta de la tabla completa y funciona tal como lo he dicho. Ahora no tengo tiempo suficiente para probarlo con SQL Server... si lo tengo en un rato, ya postearé mis resultados. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate Última edición por jachguate fecha: 09-01-2008 a las 21:27:57. Razón: cambiar el link a la imagen |
#11
|
|||
|
|||
Hola...
Creo que el link de la imagen que pusiste está mal... veo una imagen muy pequeña (el tumbnail) y no puedo ver bien el resultado... Y bueno, yo no uso el cliente de línea de comandos de Firebird, y como comenté arriba, puede que el cliente sea el que ordena los registros por medio de la clave primaria cuando no se especifica un order by... Aquí un SS de una consulta desde EMS SQL Manager: Screen Shot Saludos... Última edición por maeyanes fecha: 09-01-2008 a las 22:29:06. |
#12
|
|||
|
|||
Bueno...
Haciendo una pueba desde ISQL Firebird 2.0... Screen Shot El campo clave e indexado es ID_RAMO y los datos están ordenados de acuerdo a ese campo... Saludos... |
#13
|
|||
|
|||
Haciendo una prueba con una tabla más grande, veo el comportamiento que indicas...
Y bueno, veo que he estado equivocado al respecto... Saludos... |
#14
|
||||
|
||||
En firebird, eso mismo puede pasar también con una tabla pequeña. Sobre todo si sufre constantemente de borrados e inserciones.
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema al insertar un registro en la base de datos | mcalmanovici | Conexión con bases de datos | 2 | 30-08-2007 04:48:59 |
Insertar Un Registro En Base De Datos Con Boton | ghato168 | PHP | 14 | 01-08-2007 20:10:28 |
Recorrer base de datos registro por registro | Goyo | SQL | 3 | 06-09-2006 21:40:47 |
Problema al añadir registro | joanajj | SQL | 5 | 02-05-2006 20:21:12 |
Mismo registro de la base de datos al crear Form | gluglu | Varios | 2 | 28-09-2004 18:58:25 |
|