Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-09-2006
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
";" al final de la instrucción

Error: falta ";" al final de la instrucción

Código:
QRisc.SQL.Clear;
QRisc.SQL.Add('INSERT INTO risc (nemotecnico,tipo,descripcion)');
QRisc.SQL.Add('VALUES ('+Edit1.Text+','+Edit2.Text+','+Edit3.Text+')');
QRisc.SQL.Add('WHERE id_directo='+IntToStr(test));
//QRisc.SQL.SaveToFile('C:\temp\sql.txt'); lo uso para verificar
QRisc.ExecSQL;
Le agrego el ; y me sale "se encontraron caracteres despues de la instrucción", nunca me paso, como soluciono esto?

Saludos.
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #2  
Antiguo 03-09-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por mamu
Error: falta ";" al final de la instrucción

Código:
QRisc.SQL.Clear;
QRisc.SQL.Add('INSERT INTO risc (nemotecnico,tipo,descripcion)');
QRisc.SQL.Add('VALUES ('+Edit1.Text+','+Edit2.Text+','+Edit3.Text+')');
QRisc.SQL.Add('WHERE id_directo='+IntToStr(test));
//QRisc.SQL.SaveToFile('C:\temp\sql.txt'); lo uso para verificar
QRisc.ExecSQL;
Le agrego el ; y me sale "se encontraron caracteres despues de la instrucción", nunca me paso, como soluciono esto?

Saludos.

Imagina que edit1.text='1', que edit2.text='4', edit3.text='Hola, mundo' y la variable text=8
Según tu declaración quedaría una sentencia así:
Código:
INSERT INTO risc (nemotecnico,tipo,descripcion)
VALUES (1,4,Hola,mundo)
WHERE id_directo=8
Como verás, creo que has olvidado las comillas de los campos de texto, como mínimo supongo que el campo descripcion será de texto. para que te quedara algo así:
Código:
VALUES (1,4,'Hola,mundo')
Responder Con Cita
  #3  
Antiguo 03-09-2006
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Sigo en la misma

Gracias Casimiro Notevi :

Eso lo habia pensado, inserte las comillas (probe con simples y apóstrofes) y sigue enviándome el mismo error. Despues probé asignarle parámetros, pero el error persiste.

Código:
QRisc.Parameters.ParamByName('nemotecnico').Value:=Edit2.Text;
QRisc.Parameters.ParamByName('tipo').Value:=ComboBox2.Text;
QRisc.Parameters.ParamByName('descripcion').Value:=Memo1.Text;
QRisc.SQL.Clear;
QRisc.SQL.Add('INSERT INTO risc (nemotecnico,tipo,descripcion)');
QRisc.SQL.Add('VALUES (:nemotecnico,:tipo,:descripcion)');
QRisc.SQL.Add('WHERE id_directo='+IntToStr(test));
//QRisc.SQL.SaveToFile('C:\tem\sql.txt'); lo uso para verificar
QRisc.ExecSQL;
Verifico el archivo de texto creado en :

Código:
QRisc.SQL.SaveToFile('C:\tem\sql.txt');
y el mismo me arroja el siguiente resultado:

Código:
INSERT INTO risc (nemotecnico,tipo,descripcion)
VALUES (1,1,2)
WHERE id_directo=65
Luego, cambié la última linea para agregarle el ";"

Código:
QRisc.SQL.Add('WHERE id_directo='+IntToStr(test)+';');
Quedándome el resultado en el txt, de la siguiente manera:

Código:
INSERT INTO risc (nemotecnico,tipo,descripcion)
VALUES (1,1,2)
WHERE id_directo=65;
Pero el error de "falta ";" al final de la instrucción persiste".
Sigo sin encontrarle la vuelta.

Saludos.
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #4  
Antiguo 03-09-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
bueno, pero también ten en cuenta que estás haciendo un "insert", el "where" sobra en la sentencia
Responder Con Cita
  #5  
Antiguo 04-09-2006
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Cita:
Empezado por Casimiro Notevi
bueno, pero también ten en cuenta que estás haciendo un "insert", el "where" sobra en la sentencia
Si, definitivamente sobra. El tema es que tengo 2 tablas, una Maestro y una Detalle, yo cargo datos en la maestro sin problemas, pero cuando quiero cargar datos en el detalle no puedo, me dice que se necesita una relacion. Lo curioso es que tengo la relacion establecida desde Relaciones en Access y en Delphi asignada a MasterFields (donde se casan los campos vinculados, que son identicos en ambas tablas), y si navego, funciona perfecto, es decir en el detalle solo se ve segun el id del maestro, pero a la hora de agregar datos me salta ese error, no se como pasarle el id maestro al detalle para poder cargarle datos.

Saludos.
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
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
¿cuál es mejor: "close" o "application.terminate"? unreal4u Varios 5 05-03-2007 11:01:19
porque no me reconoce los caracteres "*" ni "%" cuando filtro mrmago Conexión con bases de datos 10 27-01-2006 04:21:16
La instruccion "optimize" tambien puede reparar tablas?? ctronx MySQL 0 19-05-2005 17:36:14
Tipo de Variable."String" ó "Double" UTECYBER OOP 7 15-12-2003 20:25:39


La franja horaria es GMT +2. Ahora son las 01:30:01.


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