Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   uso de append en tabla (https://www.clubdelphi.com/foros/showthread.php?t=55548)

macro32 19-04-2008 22:46:39

uso de append en tabla
 
Hola a todos, mi duda es bastante sencilla ya que soy principiante en base de datos.

Tengo una base de datos en sql server...digamos que me creo una tabla personas, con campos Documento y Nombre

Luego, desde un programa en Delphi digamos que utilizo el metodo Append('43.256.345','Leonardo DiCaprio'); para agregar un nuevo registro.

Hipoteticamente, si hubiese un problema como un corte de luz en el servidor....puede quedarme algo como ('43.256.345',' Leo') ? Puede existir algun problema como que la tabla quede dañada o algo asi?

Desde mi punto de vista..preferiria que el servidor ingrese el registro tal cual..o no ingrese nada.

poliburro 19-04-2008 22:56:01

A eso se le llama Transaccionalidad, Prueba la siguiente sentencia en el query
analizer

Código SQL [-]
 
Begin tran
   Select Documentos, Nombre
      From Personas
 
   Insert 
      InTo Personas
             (Documento, Nombre)
    Values(1,'blabla')
 

   Select Documentos, Nombre
      From Personas


  
  Rollback
 
  Select Documentos, Nombre
      From Personas


Ese bloque te regresa 3 datasets en el primero aún no existe el doc1
se procede a la insercion, en el segundo dataset existe el doc1
como el rollback deshace la transacción el dataset 3 no muestra el doc1

En resumen, utiliza una transacción para que solo hasta que sean confirmados los cambios se registren en la tabla, eso te evitará registros huérfanos.

Por cierto, si usas SqlServer es por que tendrás varios clientes, entonces lo mejor es que la transaccionalidad la dejes en el servidor haciendo uso de Procedimientos almacenados.

Suerte

Ferrari 20-04-2008 02:54:56

Mi estimado PoliBurro gracias por la explicacion demasiado clara...lo unico que yo no comprendo es de donde saca el append sino es VFP u otro lenguaje deplhi(perdonen mi ignorancia) ...Lo unico que si, esque avalo el comentario de poli al explicar el rollo del manejo de transacciones en delphi
saludos:cool:

Caral 20-04-2008 04:37:17

Hola
Append es el equivalente de insert, no entiendo esto.
Como xse puede hacer un Append sin especificar los registros.???
Con relacion al proceso pues un comidtras y un rolbacktrans se hace.
Saludos

macro32 21-04-2008 17:03:01

Cita:

Empezado por poliburro (Mensaje 281221)
A eso se le llama Transaccionalidad....


ESTO QUIERE DECIR QUE SI QUIERO ESTAR 100% SEGURO SOBRE CUALQUIER OPERACION DE INSERCION DE DATOS EN UNA SOLA TABLA...DEBO HACER UNA TRANSACCION?

EL DBNavigator por ejemplo...usa una transaccion para operar sobre una tabla?

poliburro 21-04-2008 19:35:04

Cita:

Empezado por macro32 (Mensaje 281450)
EL DBNavigator por ejemplo...usa una transaccion para operar sobre una tabla?


No, no la usa


La franja horaria es GMT +2. Ahora son las 18:40:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi