PDA

Ver la Versión Completa : Ayuda con un error de Filtered


thelibmx
26-06-2007, 17:25:07
hola amigos, veran tengo un grid conectado a un datasource que asu ves esta conectado a una tabla (grid-->datasource-->tabla) entonces para hacer filtros en la tabla uso la siguiente instruccion
try
DBGrid1.DataSource.DataSet.Filtered:=false;
DBGrid1.DataSource.DataSet.Filter:='([incidencia]=3)and ([oficio]='''+Edit3.text+''')';
DBGrid1.DataSource.DataSet.Filtered:=true;
except
on e:exception do
showmessage('No hay numeros de folio con ese numero.');
end; //


bien lo que hace es que en el grid me hace un filtro por todas las incidencias que son nuemro 3 y segun el numero de folio que se escriba en un edit q en este caso es edit3, todo funciona bien, pero la cuestion es que cuando no existe el numero de folio en la tabla me manda un error que es el siguiente:


General SQL error.
Error while executing the query;
ERROR: invalid input syntax for integer:''''

y el otro que sale es este:

General SQL error.
Error while executing the query;
Error: error de sintaxis al final de la entrada en el caracter 49

ocupe esas etiquetas por que todavia no se manejar bien las de aqui del foro espero no se molesten...

continuando...
Se que el problema se origina al yo poner un numero de folio que no existe,si no encuentra el numero que inserte manda los mensajes de error, si le das aceptar a los mensajes el programa continua normalmente, use un try except y me cacho solo el segundo mensaje, pero el primero me lo sigue mostrando, como puedo atrapar el primer mensaje? les agradesco por su atencion :) lindo dia..

maro
30-06-2007, 12:48:45
Hola,

¿El problema no puede ser que Edit3.text está vacio o con espacios en blanco?

Si es así, no esperes a que la ejecución del filtro te retorne un error, valida primero Edit3.text y si es correcto, realiza el fitro.

Un Saludo.

David
30-06-2007, 14:19:11
Prueba esto a ver que tal


DBGrid1.DataSource.DataSet.Filter:='(incidencia=3)and (oficio='+QuotedStr(Edit3.text)+')';

thelibmx
02-07-2007, 18:31:54
de hecho si tiene razon maro, tarde un poco al darme cuenta de ese error, solo que se me olvido poner que ya habia encontrado el origen, bien pues el filtro como dices pues no retorna error,y creo que tampoco lo generaba lo que pasaba era que tenia unos querys activos y al hacer yo el filtro habia un momento en que el valor quedaba en blanco,y entonces el que mandaba el error era el query, por eso por mas que ponia try, no cachaba ninguna excepcion, ahorita sigo en eso, pero lo bueno fue que ya identifique donde fue el error, tuve que revisar linea por linea en ejecucion :D jeje pero asi aprende uno, les agradezco por su ayuda, y ahora yo no ocupo en mi codigo de arriba el QuotedStr(Edit3.text) me podrian decir un poco para que es el quotedstr? gracias

eduarcol
02-07-2007, 19:02:59
el QuotedStr se utiliza para encerrar un texto entre comillas, asi te evitas el enredo de comillas en la asignacion

thelibmx
02-07-2007, 20:12:56
oh que bien, tratare de usar esa funcion... gracias:p