error en parametros
Hola
Tengo una sentencia SQL que es : MQnumperdido.SQLInsert.Clear; MQnumperdido.SQLInsert.Add('INSERT INTO num_perdido (codigo_mp, numero_perdido) VALUES (:codigo_mp, :numero_perdido)'); MQnumperdido.ParamByName('codigo_mp').AsInteger := MQentradamp['codigo_mp']; MQnumperdido.ParamByName('numero_perdido').AsInteger := MQentradamp['n_entrada']; MQnumperdido.Execute; Pues bien espero que la sentencia este bien contruida por quer me da errores en la sentencia de ParamByName diciendo que el parametro 'codigo_mp' no funciona, y no se ya que hacer. Lo mismo para Delete y Update. ¿ Que estoy haciendo mal ? |
Hola yo a bote pronto lo que veo, es que los campos y los parámetros tienen los mismos nombres, y de allí puede haber confusión y liarse.
Prueba a cambiar los nombres de los parámetros a ver que tal. Ponles una letra delante al estilo pCodigo_mp para identificar que es un parámetro. Saludos |
Igual, da el mismo error.
|
¿Qué dice exactamente el error?
|
El error dice :
Proyect Almacen.exe raised exception class EDatabaseError with message 'Parameter 'codigo_mp' not found' . Proccess stopped. Use Steo or Run to continue. |
Le he puesto esta sentencia y ha funcionado.
MQnumperdido.SQL.Clear; MQnumperdido.SQL.Add('INSERT INTO num_perdido (codigo_mp, numero_perdido) VALUES (:codigo_mp, :numero_perdido)'); MQnumperdido.ParamByName('codigo_mp').AsInteger := MQentradamp['codigo_mp']; MQnumperdido.ParamByName('numero_perdido').AsInteger := MQentradamp['n_entrada']; MQnumperdido.Execute; En vez de poner SQLInsert he puesto solo SQL. Para el caso deberia de dar lo mismo. Pero no se por que no ha funcionado el anterior. |
¿De qué tipo es MQnumperdido? Porque salvo que sea un TUpdateSQL, y aún así la propiedad se llama InsertSLQ...
|
¿No puedes usar un simple Query?
Si es una inserción oculta para el usuario, es lo más simple. Saludos |
MQnumperdido es del tipo del objeto TQuery.
Un simple Query creo que seria igual que un TQuery pero este ultimo lo trae MyDac, de todas maneras para las eliminaciones y modificaciones lo utilizare y haber que tal. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 07:25:35. |
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