Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-05-2004
Draco Draco is offline
Miembro
 
Registrado: abr 2004
Posts: 12
Poder: 0
Draco Va por buen camino
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?
Responder Con Cita
  #2  
Antiguo 06-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 06-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
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;
Responder Con Cita
  #4  
Antiguo 06-05-2004
Draco Draco is offline
Miembro
 
Registrado: abr 2004
Posts: 12
Poder: 0
Draco Va por buen camino
Gracias, ya lo solucione con lo que colocaste. Pero no me dijiste como borrar permanentemente un regiistro de una tabla con un query.
Responder Con Cita
  #5  
Antiguo 06-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:55:44.


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
Copyright 1996-2007 Club Delphi