Ver Mensaje Individual
  #7 (permalink)  
Antiguo 25/08/2005, 04:31
Jorge05
 
Fecha de Ingreso: mayo-2005
Mensajes: 68
Antigüedad: 19 años
Puntos: 0
Pregunta

En el código lo que tengo es lo siguiente:
Por un lado tengo el código de cada página, luego tengo dos módulos, uno para la clase conectada, y otro para la clase desconectada, que llaman a los métodos de estas clases.
Dentro de los módulos, en cada función creo un objeto de la clase que vaya a usar. Te pongo un trozo de código del módulo desconectado:

Public Function DevuelveRegistroUsuario(ByVal intIdUsuario As Integer, ByVal strCadConex As String) As DataRow
Dim registro As DataRow
objBD = New clsADODesc

registro = objBD.SacaRegistroUsuario(intIdUsuario, strCadConex)

Return registro
End Function

Public Function SacaTabla(ByVal strCadConex As String, ByVal strSQL As String, ByVal strNomTab As String) As DataTable
Dim tabla As DataTable
objBD = New clsADODesc

tabla = objBD.DevuelveTabla(strCadConex, strSQL, strNomTab)

Return tabla
End Function

Por lo pronto no se si será correcto crear en cada función un objeto, o debería crearlo en la página y pasarselo al módulo, para usar menos memoría, no se si esto puede influir en el fallo que me está dando.

Te pongo un trozo de la clase desconectada que he hecho, mas concretamente la función que me está fallando(ojo, esta función me falla solo cuando hay varios usuarios conectados):

Public Function SacaRegistro(ByVal strCadConex As String, ByVal strSQL As String) As DataRow
Dim cmdBuilder As SqlCommandBuilder
Dim registro As DataRow
Dim tabla As DataTable
Dim intX As Integer

conConexion = New SqlConnection(strCadConex)
Adaptador = New SqlDataAdapter(strSQL, conConexion)
ConjuntoDatos = New DataSet
cmdBuilder = New SqlCommandBuilder(Adaptador)

conConexion.Open()
'y rellenamos el dataset ConjuntoDatos
Adaptador.Fill(ConjuntoDatos, "tab")' falla aqui ******
'una vez rellenado el dataSet volvemos a cerrarla.
conConexion.Close()

tabla = ConjuntoDatos.Tables("tab")
registro = tabla.Rows(0)

Return registro
End Function

Pongo tabla.Rows(0), porque el resultado de la consulta devuelve un solo registro.

La consulta se ejecuta correctamente, y el dataset como puedes ver también lo tengo instanciado.

Por último, he estado leyendome lo del connection pooling, y lo que no tengo muy claro es en que zona del código debo poner lo de
Pooling=true
Pooling=yes

si ponerlo en cada función y procedimiento de la clase, o ponerlo en la zona de declaraciones de la clase...o donde?


Gracias por vuestra ayuda, saludos.