Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Sentencias SQL.. una bien y una mal, cual es el error?? (https://www.clubdelphi.com/foros/showthread.php?t=47329)

Gaim2205 24-08-2007 16:54:21

Sentencias SQL.. una bien y una mal, cual es el error??
 
Tengo en 1 form el siguiente codigo para hacer un insert:

que_ins.SQL.Text := format('insert into %s',[tabla])+''+
'('+'matricula,cve,nombre)'+
'values(:mat,:cve,:nombre)';

y funciona muy bien, en cambio... en otro query de otro form tengo

update.SQL.Text := format('update %s',[tabla])+''+'set nombre=:nombre,status=:status,tipo_contrato=:contrato where matricula=:mat';

El error es el siguiente : 'Dynamic sql error sql error code = -104 token uknown ='.
donde esta ese "=" ??



Gracias

Paoti 24-08-2007 17:07:00

Hola Gaim....


porque no pruebas a usar más esapcios en tus sentencias SQL

osiblemente el error está en:

format('update %s',[tabla])+''+'set

porque puede quedar la sentencia

UPDATE MyTablaset <--- concatenado por no llevar espacio


lo que hago yo cuando requiero de hacer sentencias de esta forma,

es antes de pasarlo al objeto

update.SQL.Text

lo guardo en una varables y lo cargo es una caja de texto

caja.text := 'my cadena dinamica de sql';

para validar que esta bien de forma sintactica.

pborges36 24-08-2007 17:07:45

Me parece que te falta un espacio, algo asi:

update.SQL.Text := format('update %s',[tabla])+' '+'set nombre=:nombre,status=:status,tipo_contrato=:contrato where matricula=:mat';

Antes del set. Saludos

egostar 24-08-2007 20:59:45

Y así que te parece

Código Delphi [-]
update.SQL.Text := 'update '+tabla+' set nombre = :nombre, status = :status, tipo_contrato = :contrato where matricula = :mat';

Salud OS


La franja horaria es GMT +2. Ahora son las 23:46:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi