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)
-   -   Borrar e Insertar un registro de una tabla con Query (https://www.clubdelphi.com/foros/showthread.php?t=9931)

Draco 06-05-2004 05:39:14

Borrar e Insertar un registro de una tabla con Query
 
Podrian decirme como borro permanentemente un registro de una tabla mediante un query, y cómo inserto uno nuevo.

Lo estoy haciendo así:


Query:='Insert into Producto(Nombre, Cantidad, Costo)
values(NuevoNombre, NuevaCantidad, NuevoCosto);'
ADOQuery.sql.add(Query);

El problema es que no se cómo meter los valores ya que Nombre es string, cantidad es Integer y Costo es Real. ¿Tengo que convertirlos a cadena para poderlos meter a la sentencia Insert Into?

jachguate 06-05-2004 06:36:01

Hola draco.

Podes convertirlos en cadenas e incluirlos en tu sentencia insert, o podes usar parámetros.

En tiempo de diseño podes asignar esta sentencia a tu query:

Código SQL [-]
Insert into producto 
       (nombre, cantidad, costo) 
values (:NuevoNombre, :NuevaCantidad, :NuevoCosto)

Nota el uso de los dos puntos delante de cada parámetro. Luego das click en la propiedad params del query, les asignas el tipo de dato correspondiente a cada uno (string, float, integer), y ParamType lo pones a ptInput.

Luego en tiempo de ejecución, podes asignarle valores asi:

Código Delphi [-]
  AdoQuery.ParamByName('NuevoNombre').AsString := 'Nombre nuevo';
  AdoQuery.ParamByName('NuevaCantidad').AsInteger := 50;
  AdoQuery.ParamByName('NuevoCosto').AsFloat := 10.75;

Hasta luego.

;)

__cadetill 06-05-2004 10:24:45

Para completar la buena respuesta del amigo Juan Antonio, sólo decirte que las sentencias SQL que no devuelven valores no se ejecutan con Open o Active, sino con ExecSQL

Código Delphi [-]
.....
try
  ADOQuery.ExecSQL;
except
  raise;
end;

Draco 06-05-2004 16:31:58

Gracias, ya lo solucione con lo que colocaste. Pero no me dijiste como borrar permanentemente un regiistro de una tabla con un query.

roman 06-05-2004 17:27:37

Cita:

Empezado por Draco
Gracias, ya lo solucione con lo que colocaste. Pero no me dijiste como borrar permanentemente un regiistro de una tabla con un query.

Código SQL [-]
delete from tabla
where
  condiciones

donde condiciones son las condiciones que satisface el registro o registros que deseas borrar.

Este tipo de dudas las puedes resolver fácilmente leyendo un manual básico de SQL, por ejemplo este:

http://www.w3schools.com/sql/default.asp

// Saludos


La franja horaria es GMT +2. Ahora son las 19:52:11.

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