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 Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-01-2006
jorgito jorgito is offline
Miembro
 
Registrado: mar 2004
Posts: 25
Poder: 0
jorgito Va por buen camino
consulta en sus propiedades de Tquery

Holas estoy realizando consultas con Tquery en sus propiedades SQL, en delphi. al realizar consultas de select me sale bien, pero al insertar datos a mi base de datos me sale error.

Código SQL [-]
select *from amacen.db where codigo=:cod_cli

Código SQL [-]
insert into almacen.db values (:codigo,:nombre,:direccion,:telefono)

esta mal algo insert y como se realiza el update y delete. una ayuda porfavor.

Última edición por dec fecha: 20-01-2006 a las 23:08:45.
Responder Con Cita
  #2  
Antiguo 20-01-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No tengo mucha experiencia, pero, creo que tienes que hacer algo así:

Código SQL [-]
INSERT INTO almacen.db (campo1, campo2, campo3, campo4)
  VALUES (:codigo,:nombre,:direccion,:telefono)

En el apartado Manuales del ClubDelphi encontrarás uno sobre SQL que puede venirte bien.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 20-01-2006
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
También estaría bien que dijeras que mensaje de error te está dando o que pusieras algo del código donde estás ejecutando la consulta, porque la sentencia en sí la tienes correcta.

De todas formas, fíjate si estás creando los parámetros que le estás pasando al objeto TQuery, propiedad "Params", y si estás asignando valores correctos a estos parámetros antes de ejecutar la consulta.

Saludos!
Responder Con Cita
  #4  
Antiguo 20-01-2006
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 jmariano
porque la sentencia en sí la tienes correcta
Sólo si la tabla tiene cuatro columnas y los valores se dan en el mismo orden, de lo contrario tendrá que especificar las columnas tal como indica dec

Quizá el error provenga de como ejecuta la consulta. En lugar de Open o Active := true, debe usar ExecSQL.

// Saludos
Responder Con Cita
  #5  
Antiguo 21-01-2006
jorgito jorgito is offline
Miembro
 
Registrado: mar 2004
Posts: 25
Poder: 0
jorgito Va por buen camino
no se soluciona

me sigue saliendo el error
error
Código PHP:
query2:field 'codigo' 'nombre' ' direccion' 'telefono' is of an unknown type 
este es mi codigo para invocar al query
Código PHP:
query2.Open;
query2.ParamByName('codigo').asstring:=edit1.Text;
query2.ParamByName('nombre').asstring:=edit1.Text;
query2.ParamByName('direccion').asstring:=edit1.Text;
query2.ParamByName('telefono').asstring:=edit1.Text;
query2.ExecSQL
y si me sale los params del query2
Responder Con Cita
  #6  
Antiguo 21-01-2006
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
Edita la propiedad "Params" del TQuery e indica el tipo de datos de los parámetros, propiedad "DataType", ya que por defecto esta propiedad toma el valor "ftUnknown" (es decir, tipo "desconocido").

Saludos!
Responder Con Cita
  #7  
Antiguo 21-01-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por jmariano
ya que por defecto esta propiedad toma el valor "ftUnknown" (es decir, tipo "desconocido").
Por lo regular esa propiedad cambia cuando se especifica el parametro con AsDate, AsString, AsInteger.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #8  
Antiguo 21-01-2006
Avatar de RyCk
RyCk RyCk is offline
Miembro
 
Registrado: ene 2006
Ubicación: Varacruz
Posts: 16
Poder: 0
RyCk Va por buen camino
Exclamation

Código Delphi [-]
Query.Connection.Connected := TRUE;
Query.SQL.Text := 'INSERT INTO tabla (campo, campo2) values(:campo1, :campo2)';
Query.ParamByName('campo').AsString := Edit1.Text;
Query.ParamByName('campo2').AsString := Edit2.Text;
Query.ExecSQL;
__________________
RyCk

Última edición por vtdeleon fecha: 21-01-2006 a las 20:51:28.
Responder Con Cita
  #9  
Antiguo 31-01-2006
cuburu cuburu is offline
Miembro
 
Registrado: mar 2005
Posts: 63
Poder: 20
cuburu Va por buen camino
Hola,

Quizas lo que podrías hacer es armar el query desde 0, creandolo tu mismo a tus necesidades.

Necesitas ordenar los campos que deseas ingresar, para eso te sirve lo que se encuentra despues de tutabla encerrado entro parentesis, y después en values va la información de los campos.

Código Delphi [-]
var
  Cons: TQuery;
begin
  Cons := TQuery.Create(nil);
  try
    with Cons do
    begin
      Close;
      SQL.Clear;
      SQL.Add('INSERT INTO tutabla(campo1, campo2, ..., campon) VALUES(:Campo1, :Campo2, ..., :Campon)');
      ParamByName('Campo1').asString := Edti1.Text;
      ParamByName('Campo2').asString := Edti1.Text;
      ...
      ParamByName('Campon').asString := Edti1.Text;
      Prepare;
      Open;
    end;
  finally
    Cons.Free.
   end;
end;

el finally lo que hace es que no importa lo que pase, se finalice bien, mal, o lo que sea.... siempre se ejecuta y en este caso elimina el objeto creado de la BD.

Suerte.
Responder Con Cita
  #10  
Antiguo 31-01-2006
Avatar de Jonnathan
Jonnathan Jonnathan is offline
Miembro
 
Registrado: may 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 64
Poder: 19
Jonnathan Va por buen camino
Buen dia. Con las sugerencias para el paso de parámetros ya no deberías tener problemas. Aqui esta lo demás que pediste:

Suponiendo que tus campos son Codigo, Nombre, Direccion, Telefono y que el campo clave de la tabla es Codigo:

Para hacer un Update
Código SQL [-]
Update almacen.db
Set
Codigo=:Codigo,
Nombre=:Codigo,
Direccion=:Codigo,
Telefono=:Codigo
where
Codigo=:OLD_Codigo
Donde OLD_Codigo es el el valor de "Codigo" del registro que vas a modificar.

Para hacer un Delete
Código SQL [-]
Delete from almacen.db
where
Codigo=:OLD_Codigo
Donde OLD_Codigo es el el valor de "Codigo" del registro que vas a borrar. Saludos .
__________________
"En el siglo de la estupidez todas las casas comienzan por la fachada" (Fuckowsky)
Planeta Insólito, La Pluma Inspirada
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
consulta en sus propiedades de Tquery jorgito Conexión con bases de datos 1 20-01-2006 23:06:32
Re - ordenar consulta de un TQuery ContraVeneno SQL 18 12-10-2005 19:28:34
Problema con una consulta hecha de 3 formas VRO Firebird e Interbase 5 24-01-2005 19:02:11
TTable VS TQuery TDworD Conexión con bases de datos 4 18-11-2004 20:47:30
Tquery con problemas jobapi Conexión con bases de datos 13 28-08-2003 19:56:50


La franja horaria es GMT +2. Ahora son las 18:05:10.


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