CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Esto Estaría Bien?

<< < (2/4) > >>

lencho:
ummm, pero acaso el DataSet no funciona aun sin conexion ???, o estoy mal en conceptos !!!.

BYTE.

JuanK:
no uso mucho el rollo de los dataset porque no trabajo con eso.

Pero tengo un escenario... que pasa si se hace una consulta sobre una tabla de nada mas 70´000.000 de registros?

dudo que esta operación:


--- Código: Text ---adaptador2.Fill(datos, &#34;facturas&#34;) 
traiga a la máquina local los 70',  (lo cual fácilmente son gigas y gigas de infromacion)

no traerá nada en tanto no se valla utilizar esa información, la primera vez que se necesita dicha información solo traerá una cantidad determinada mediante la operación llamada comúnmente a nivel de base de datos: Fetch

Ese fectch debe ser de por defecto algo asi como algunos 2000 registros y no se hara un nuevo fetch a la dbase en tanto no se soliciten mas datos a parte de los del fetch anterior...  

así que cuando se quiere utilizar un conjunto de datos al cual aun no se le ha hecho fetch entonces el dataset hace fetch a la base de datos para lo cual como es de suponerse se requiere conexión.

Habrá ocasiones  en que se haga el primero fetch con solo llamar a Fill? no lo se es posible que si., pero nunca sera un fecth enorme, siempre relacionado con el tope.

Otro escenario es que si el dataset se llena con una consulta relativamente pequeña este se llene entonces todo de una vez con un solo fetch asi que no requirira mas conexiones a la db.-

JuanK:

--- Cita de: "Cajami" --- hola, no estoy seguro pero si ia hicistes una instancia del DataSet porque vuelves ha hacer de nuevo'? aunque no lo he probado o tiene que hacerce asi??, tambien puede ser porue el nombre de tu campo no es filas.Item("cod_factura"), en que linea como dice lencho te sale error?
--- Fin de la cita ---
esta también puede ser una opción aunque para el caso es un mensaje de error muy poco informativo  :blink:

lencho:

--- Cita de: "JuanK" ---
--- Cita de: "Cajami" --- hola, no estoy seguro pero si ia hicistes una instancia del DataSet porque vuelves ha hacer de nuevo'? aunque no lo he probado o tiene que hacerce asi??, tambien puede ser porue el nombre de tu campo no es filas.Item("cod_factura"), en que linea como dice lencho te sale error?
--- Fin de la cita ---
esta también puede ser una opción aunque para el caso es un mensaje de error muy poco informativo  :blink:
--- Fin de la cita ---
claro, practicamente el error esta ahi, por que al volver a hacer NEW la tabla llenada anteriormente osea "pelisAlquiladas" ya no existe.

BYTE.

lencho:
La propiedad STATE me dice si la conexion esta abierta o cerrada.


--- Código: Text ---   Private Sub BtnVer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnVer.Click                Dim Cn As New SqlConnection()        Cn.ConnectionString = &#34;Server=(Local);DataBase=Empresa;Integrated Security=SSPI&#34;        Dim Cmd As New SqlCommand()                Cmd.CommandText = &#34;Select * From Clientes Order By Nombre&#34;        Cmd.Connection = Cn        'Crea el objeto DataAdapter        Dim Da As New SqlDataAdapter()        'Asigna el comando al objeto DataAdapter        Da.SelectCommand = Cmd        'Crea el objeto DataSet        Dim Ds As New DataSet()        MsgBox(&#34;Estado de la conexion antes de llenar el dataser:&#34; & Cn.State.ToString)        'Llena el objeto DataSet con la información leida        Da.Fill(Ds, &#34;Clientes&#34;)        'Muestra la información del objeto DataSet en el control DgClientes        DgClientes.DataSource = Ds.Tables(&#34;Clientes&#34;)                'MsgBox(&#34;Estado de la conexion despues de llenar el dataser:&#34; & Cn.State.ToString)    End Sub 
En el transcurso de este evento me mostrara dos mensajes, como pueden ver.
Lo interesante y nuevo para mi es que en los dos muestra que la conexion esta cerrada.

BYTE.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa