Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-03-2007
mierda mierda is offline
Miembro
 
Registrado: may 2006
Posts: 129
Poder: 18
mierda Va por buen camino
Error al ejecutar consulta

Buenas a todos ... tengo un problema y no se q es lo que falla, me explico:

utilizo delphi 7 contra una base de datos access 2003
tengo 2 tablas, una propia del access y otra vinculada de un sql server 2000

el problema es q tengo una consulta en el access que funciona correctamente:


Código SQL [-]
INSERT INTO tarticulo SELECT dbo_articulos.id AS id,'' as clase, dbo_articulos.descripcion AS descripart,'' as rutafoto, '' as nombrecliente, dbo_articulos.precio AS precio,'' as idcliente FROM dbo_articulos





pero cuando la ejecuto desde el delphi:


Código Delphi [-]
cadena := 'INSERT INTO tarticulo SELECT dbo_articulos.id AS id,'' as clase, dbo_articulos.descripcion AS descripart,'' as rutafoto, '' as nombrecliente, dbo_articulos.precio AS precio,'' as idcliente FROM dbo_articulos';
datos.Qimportpv.Close;
datos.Qimportpv.sql.Clear;
datos.Qimportpv.sql.add(cadena);
Datos.Qimportpv.execsql;





me dice que el numero de campos no son iguales. Pero si en access si funciona!!! se le va la chapa a mi ordenata ?!?!

Muchas gracias
Responder Con Cita
  #2  
Antiguo 11-03-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
El problema está en la asignación a cadena,

cadena := 'INSERT INTO tarticulo SELECT dbo_articulos.id AS id,'' as clase, dbo_articulos.descripcion AS descripart,'' as rutafoto, '' as nombrecliente, dbo_articulos.precio AS precio,'' as idcliente FROM dbo_articulos';

Las comillas que pones en Acces para asignar cadenas vacías a los campos, Delphi las interpreta como una sóla comilla. Prueba esto:
Código Delphi [-]
cadena := 'INSERT INTO tarticulo SELECT dbo_articulos.id AS id,' + QuotedStr('') + ' as clase, dbo_articulos.descripcion AS descripart,' + QuotedStr('') + ' as rutafoto, ' + QuotedStr('') + ' as nombrecliente, dbo_articulos.precio AS precio,' + QuotedStr('') + ' as idcliente FROM dbo_articulos';

En vez de de QuotedStr(''), podrías poner '''' (4 comillas), pero no resulta muy legible.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al Ejecutar consulta de Eliminacion JoanKa Varios 2 02-01-2007 16:10:53
Ejecutar una consulta de Access Leviatan Conexión con bases de datos 2 17-10-2006 10:08:37
ejecutar consulta de access juanmdq Tablas planas 2 07-01-2005 13:59:19
Mostrar TProggressBar al Ejecutar Consulta hibero Firebird e Interbase 1 11-10-2004 15:39:37
ADO: Error al ejecutar una consulta repetidamente sostro Conexión con bases de datos 6 31-08-2004 17:43:50


La franja horaria es GMT +2. Ahora son las 11:54:07.


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