|
Soporte para pasar Arrays en Connection.Subst() con filtros dinámicos - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: Bases de Datos (https://gambas-es.org/forum-6.html) +--- Tema: Soporte para pasar Arrays en Connection.Subst() con filtros dinámicos (/thread-2004.html) |
Soporte para pasar Arrays en Connection.Subst() con filtros dinámicos - omoreno - 19-01-2026 Hola, En Gambas3 la función Connection.Subst() puede aceptar parámetros sueltos mediante (...) Esto funciona bien cuando la cantidad de parámetros es fija, pero se vuelve muy engorroso cuando se construyen consultas con WHERE dinámicos. En mi caso, los filtros se asignan en tiempo de ejecución a un vector, por ejemplo: Código: FiltroX.Add(codigo)Si enviamos el vector simplificaría mucho el código y evitaría tener que usar Select Case para cada cantidad de parámetros que hay que enviar al Exec u otros comandos SQL, como en el ejemplo actual: Código: Select Case FiltrosX.LengthLo ideal es poder enviar directamente un array a DB.Subst. He adjuntado un programa para que tengan una mejor idea de lo que busco. He publicado una solicitud en el BugTracker aver si lo adaptan. Gracias por sus posibles sugerencias. RE: Soporte para pasar Arrays en Connection.Subst() con filtros dinámicos - Shordi - 19-01-2026 No lo entiendo muy bien... ¿De qué sirve enviar los valores en un array si no envias los campos en otro? ¿y las condiciones and, or, etc.? Tendrías que construir "artesanalmente" la consulta SQL incluyendo los parámetros sustituibles de todas formas y con ello, el trabajo que ahorras es prácticamente despreciable... a no ser que no lo haya entendido bien. Si la clave está en lo de "dinámico" tal vez el proyecto adjunto en la descripción de este video te pueda ayudar. Ahí encontrarás un formulario para crear filtros que te puede ayudar. Creo que tú estás trabajando con webforms y demás, por lo que no creo que te valga un copia-pega, pero la idea tal vez te sirva. Saludos |