FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
ADO con parámetros
Hola a todos!
a ver si me podéis ayudar antes de que me vuelva loco. Tengo una base de datos en SQLSERVER.CE. Me conecto a ella con ADO y actualizo datos sin problemas con la siguiente sentencia: Código:
('Insert into TBL_M_ART Values (''' + codigo+ ''', ''' +descripcion+ ''')'); Pero si en lugar de esa sql uso la siguiente con parámetros Código:
('Insert into TBL_M_ART (M_Cod, M_des) Values (:Cod,:Desc)'); ADOQuery1.Parameters[0].value := codigo; ADOQuery1.Parameters[1].Value := descripcion; ADOQuery1.ExecSQL; Código:
function TADOQuery.ExecSQL: Integer; begin InitializeMasterFields(Self); Command.Execute(FRowsAffected, EmptyParam); Result := FRowsAffected; end; ¿Alguien sabe a qué se debe esto? Muchas gracias, Jon PD: quiero usar parametros por que debe ser más rápido |
#2
|
||||
|
||||
Seguro que usar parámetros te dará menos dolores de cabeza con los valores.
También puedes usar ParamByName para más seguridad.
De todas formas, hay al "intermedio" cuando uno quiere montar la SQL de esta forma, que es usando la función QuotedStr, que al menos simplifica el proceso de añadir comillas simples a los strings.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
gracias neftali!
ya he probado con Código:
ADOQuery1.Parameters.ParamByName('Cod').Value := '000486'; ADOQuery1.Parameters.ParamByName('Desc').Value := StringOfChar(' ', 40); Gracias! jon |
#4
|
||||
|
||||
Dos preguntas:
¿Seguro que en el Query sólo tienes esa sentencia? ¿Creas los parámetros anteriormrnte vía CreateParameter?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Si no me equivoco estás asignando el texto del ADOQuery en tiempo de ejecución. ¿Has probado a crear los parametros asignándoles las propiedades de cada uno?.
__________________
_____________________________________ And follow me to where the real fun is |
#6
|
||||
|
||||
vamos a ver, coloca un TADOQuery en tu formulario o en tu módulo de datos y no le pongas nada, ni parámetros, ni SQLString, nada, solo ponlo ahí.
Lo primero que le tienes que hacer es asignarle la conexión, eso depende de como lo este manejando, el chiste es que se pueda conectar. Luego prueba este código:
el código estoy seguro que funciona... si te sigue marcando error, entonces el problema esta por otro lado.
__________________
Última edición por ContraVeneno fecha: 16-04-2009 a las 19:43:59. |
#7
|
|||
|
|||
Muchas gacias a todos!! y perdonar por no contestar antes,
peo mi punto de locura sigue igual. He probado el código de Contraveneno y me da el mismo error. He probado a crear los parametros en tiempo de ejecución Código:
with ADOQuery1 do begin If active then close; SQL.Clear; SQL.Add('Insert into TBL_M_ART (M_Cod, M_des)'); SQL.Add('Values (:Cod,:Desc)'); with parameters do begin CreateParameter('Cod', ftWideString,pdInput,6,null); CreateParameter('Desc', ftWideString,pdInput,40,null); ParamByName('Cod').value := '000486'; //edtCodigo.Text; ParamByName('Desc').Value := StringOfChar(' ', 40); //edtDescricpion.Text; end; //parameters ExecSQL; end; //with Me corto las venas? me tomo un vasito de agua? O pienso un poco más y vuelvo a pedir vuestra ayuda? Me decanto por 2 y 3 (). Esto en cambio funciona perfecto: Código:
with ADOQuery1 do begin If active then close; SQL.Clear; SQL.Add('Insert into TBL_M_ART Values (''' + cod+ ''', ''' + desc+ ''', )'); ExecSQL; end; Muchas gracias a todos de nuevo!! Jon |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
parametros en sql | nikotina | SQL | 4 | 31-10-2006 11:09:17 |
Parametros Opcionales no Parametros por defecto | Velia | Varios | 7 | 19-08-2006 15:18:42 |
Parámetros en ADO | Delfin | Conexión con bases de datos | 0 | 19-03-2005 00:02:36 |
parametros | rebollo75 | SQL | 3 | 23-11-2004 19:44:59 |
Parametros BDE | Red_Delphi | Conexión con bases de datos | 0 | 13-10-2003 10:18:05 |
|