PDA

Ver la Versión Completa : problemas al pasar un parametro a una consulta sql


tiagor64
24-01-2005, 17:21:36
Hola:

Mi intencion es buscar en una base de datos un registro y luego modificar el valor de un capo.

Quiero buscar un registro q en el campo orden_fabricacion tenga un valor que yo pondre en un textbox y luego sustituir el valor q tiene en el campo semana por otro valor q estara en otro textbox

He leido en otros temas del foro que para buscar el registro q voy a modificar lo mejor seria hacer una consulta de tal forma:
SELECT * FROM tabla WHERE orden_fabricacion= +quotedStr(edit1.text);

Pero cuando pongo esto en el adoquery y intento llenar la tabla con los campos me dice que la funcion quotedstr no esta definida en la expresion.

estoy usando delphi 7, y ataco una bd access.

agradezco cualqier ayuda. gracias.

Sinaloense
24-01-2005, 17:29:32
Creo que el error es la separación de apostrofes.

En vez de esto:

SELECT * FROM tabla WHERE orden_fabricacion= +quotedStr(edit1.text);


Puede ser esto:

'SELECT * FROM tabla WHERE orden_fabricacion=' +quotedStr(edit1.text);


Con el apostrofe.

tiagor64
24-01-2005, 18:37:19
Gracias por la respuesta, ya he solucionado el problema, el problema estaba en el tipo de datos, pero ahora tengo otro problema, ya me funciona, pero la consulta qedaria de manera:

adoquery1.SQL.text := 'SELECT REGISTRE.ORDEN_FABRICACION, REGISTRE.N_PEDIDO, DISTRIBUIDOR.DISTRIBUIDOR, MODELO.MODELO, REGISTRE.FECHA_ENTREGA FROM MODELO INNER JOIN (DISTRIBUIDOR INNER JOIN REGISTRE ON DISTRIBUIDOR.ID_DISTRIBUIDOR = REGISTRE.DISTRIBUIDOR) ON MODELO.ID_MODELO = REGISTRE.MODELO WHERE orden_fabricacion='+edit1.text+' or orden_fabricacion='+edit2.text;

donde los edit.text irian hasta 10 pero tengo un problema, que el texto de la consulta es mayor a 255 y no lo puedo almacenar en el text del adoquery1.SQL.text, alguna idea?? alguna otra forma de plantear la consulta??
muchas gracias.