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 21-03-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
bug en componente Ttable ?

tengo una base de datos MySQL y en una tabla tengo 10 campos, uno de ellos es tipo DATE, asigno a una Ttable la tabla antes mencionada, y resulta que me lee 9 campos (Fields Editor), especificamente todos excepto el campo Date, lo mismo me pasa con otras tablas MySQL ningun campo Date lo logra leer.

he probado entonces con un Tquery y un TupdateSQL:

pongo un DBgrid y un DBNavigator, los asocio al DataSource que contiene el Tquery (y este al TupdateSQL) y intento borrar un registro:

el SQL del Tquery:
Cita:
Select codigo AS Codigo,Cantidad_Inicial AS Cantidad, Articulo, Tipo,
Marca, Modelo, Fecha_Compra AS `Fecha De Compra`,
Lugar_Compra AS `Lugar De Compra` from articulos_datos
el SQL Delete del UpdateSQL
Cita:
delete from articulos_datos
where
Codigo = :OLD_Codigo and
Cantidad = :OLD_Cantidad and
Articulo = :OLD_Articulo and
Tipo = :OLD_Tipo and
Marca = :OLD_Marca and
Modelo = :OLD_Modelo and
Fecha De Compra = :OLD_Fecha De Compra and
Lugar De Compra = :OLD_Lugar De Compra
La propiedad CachedUpdates del Tquery esta True, por lo tanto tengo un boton que contiene el codigo para aplicar todos los updates,Deletes, o inserts que se hagan en la tabla:

codigo del boton
Cita:
procedure TForm6.BitBtn1Click(Sender: TObject);
begin
Datamodule1.QueryArticulosDetalles.ApplyUpdates;
Datamodule1.QueryArticulosDetalles.CommitUpdates;
end;
bien, entonces por ejemplo borro un registro del DBgrid, y despues pincho el boton y me salta el siguiente error:

raised expcetion class EdatabaseError with message 'Field'OLD_Fecha' is of an unknown Type'.

alguien por favor me podria decir como solucionar este problema, ya sea con el Ttable o con el Tquery, tal vez usando un ADOquery o no se, lo que deseo es una solucion cualquiera, o un comentario sobre que piensan de esto.

gracias de antemano.
Responder Con Cita
  #2  
Antiguo 21-03-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Segun he leido por ahí, tienes que poner el nombre del campo entre comillas, por tener espacios en blanco. No sé si se valdrá

De todas formas ¿realmente tienes que acotar tanto la búsqueda para el borrado? Debería existir algun campo en ese registro que fuese único, y por ende, hacer el borrado por ese campo.

Saludos
Responder Con Cita
  #3  
Antiguo 21-03-2005
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 22
@-Soft Va por buen camino
Question

hola

una duda, que componentes utilizas para conectarte a mysql. utilizas algun Front para manipular mysql.
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #4  
Antiguo 21-03-2005
MasterXP MasterXP is offline
Miembro
 
Registrado: ene 2005
Posts: 193
Poder: 20
MasterXP Va por buen camino
Cita:
Empezado por Lepe
Segun he leido por ahí, tienes que poner el nombre del campo entre comillas, por tener espacios en blanco. No sé si se valdrá
Ningun campo tiene espacio, los separo pro medio de la "_". despues de la clasula AS si hay espacios, pero los tengo encerrado entre ``, mira:
[code]Select ..... Fecha_Compra AS `Fecha De Compra`[code]

Cita:
Empezado por Lepe
De todas formas ¿realmente tienes que acotar tanto la búsqueda para el
borrado? Debería existir algun campo en ese registro que fuese único, y por
ende, hacer el borrado por ese campo.
Saludos
si tengo un indice que es codigo, aqui el codigo con el que cree la tabla:
Cita:
CREATE TABLE `articulos_datos` (
`Codigo` int(4) unsigned zerofill NOT NULL default '0000',
`Articulo` varchar(45) NOT NULL default '',
`Tipo` varchar(20) NOT NULL default '',
`Marca` varchar(30) default NULL,
`No_Serie` varchar(45) default NULL,
`Modelo` varchar(20) default NULL,
`Lugar_Compra` varchar(45) default NULL,
`Factura_No` varchar(45) default NULL,
`Fecha_Compra` date default '0000-00-00',
`Cantidad_Inicial` smallint(5) unsigned default '0',
`Precio_x_Unidad` decimal(9,2) default '0.00',
`Sub_Total` decimal(9,2) default '0.00',
`Descuento` decimal(9,2) default '0.00',
`Total` decimal(9,2) default NULL,
`Notas_Ad` blob,
`Foto` varchar(255) default NULL,
PRIMARY KEY (`Codigo`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Cita:
Empezado por @-Soft
hola
una duda, que componentes utilizas para conectarte a mysql. utilizas algun Front para manipular mysql.
utilizo el ODBC oficial de AB MySQL.

verdad que esto es muy extra~o ?

Gracias por contestas.
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


La franja horaria es GMT +2. Ahora son las 17:27: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
Copyright 1996-2007 Club Delphi