Ver Mensaje Individual
  #9 (permalink)  
Antiguo 21/10/2004, 14:40
Avatar de Bravenap
Bravenap
 
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 6 meses
Puntos: 4
Bien, bien, estupendo. Ya me funciona.

Pero voy a tensar un poquito más la cuerda. La verdad es que me he hecho siempre lios con las rutinas de conexión y consultas a bases de datos, sobre todo en el orden en el que se ponen las distintas sentencias. Pues bien, yo lo que quería hacer (y ya lo habéis conseguido) es repetir una consulta con un bucle, es decir, cada vuelta del bucle cambia una condición de la consulta (WHERE ...). Pero creo que abro y cierro la conexión demasiadas veces y tarda un poco. Los pasos que sigo son los siguientes (de memoria):

Código:
Dim Con As OleDbConnection = New OleDbConnection(Provider=Microsoft.Jet.OLEDB....)
Do While archivo=......
Dim Cmd As OleDbCommand = New OleDbCommand("SELECT...", Con) Con.Open() Cmd.ExecuteScalar() ...... Con.Close()
Loop Con = Nothing
Como la consulta se va generando dinámicamente, no para de abrir y cerrar la conexión con la consiguiente espera. ¿Puedo abrir la conexión antes de definar el objeto OleDbCommand y no cerrarlo hasta que es acabe el bucle? Algo así:

Código:
Dim Con As OleDbConnection = New OleDbConnection(Provider=Microsoft.Jet.OLEDB....)
Con.Open()
Do While archivo=......
Dim Cmd As OleDbCommand = New OleDbCommand("SELECT...", Con) Cmd.ExecuteScalar() ...... Cmd.Close()
Loop Con.Close() Con = Nothing
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!