Hay algo mejor

28/09/2005 - 20:23 por Juanjo Esteban | Informe spam
Hola a todos:

Me han pasado un codigo para cuando quiero abrir un formulario y que se
llenen de datos, el codigo es bastante complicado, lo que me gustaria saber
si hay algo mas comodo que el codigo que os pongo:

Private Sub frmSocios_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Try

Dim oConexion As New SqlConnection

Dim oDataAdapter As SqlDataAdapter

'crear conexion

Dim strcon As String

strcon = "Server=(local);Database=video;Trusted_Connection=TRUE;"

oConexion.ConnectionString = strcon

'crear adaptador

oDataAdapter = New SqlDataAdapter("SELECT * from SOCIOS", oConexion)

'crear commandbuilder

Dim oCommandBuilder As SqlCommandBuilder = New
SqlCommandBuilder(oDataAdapter)

'crear dataset

Dim odataset As DataSet

odataset = New DataSet

oConexion.Open()

'llenar con el adaptador el dataset

oDataAdapter.Fill(odataset, "socios")

oConexion.Close()

'establecer el indicador del registro

'a mostrar en la tabla

Dim iposicFila As Integer = 0

'cargar columnas del registro en

'los controles del formulario

Dim oDataRow As DataRow

oDataRow = odataset.Tables("socios").Rows(iposicFila)

'cargar los controles del formulario con

'los valores de los campos del registro

Me.txtNumsocio = oDataRow("numsocio")

Catch ex As Exception

'Si se produce algún error

'lo capturamos mediante el objeto

'de excepciones particular para

'el proveedor SqlConnection

MsgBox(ex.Message)

End Try

End Sub



Muchas Gracias

Preguntas similare

Leer las respuestas

#1 Carlos Durán Urenda
28/09/2005 - 21:54 | Informe spam
Hola

puedes utilizar los asistentes para formularios de datos

Entra a Proyecto / Agregar Windows From...

selecciona Asistente para formulario de datos

sigue los pasos y obtendras un formularo como lo que deseas sin necesidad de
escribir una sola linea

eso si... tienes mucho mas control cuando escribes el codigo. puedes
analizar el codigo generado por el asistente, veras que en realidad el
codigo que te han pasado esta bastante simplificado

Suerte

Carlos Durán


"Juanjo Esteban" escribió en el mensaje
news:%
Hola a todos:

Me han pasado un codigo para cuando quiero abrir un formulario y que se
llenen de datos, el codigo es bastante complicado, lo que me gustaria
saber si hay algo mas comodo que el codigo que os pongo:

Private Sub frmSocios_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Try

Dim oConexion As New SqlConnection

Dim oDataAdapter As SqlDataAdapter

'crear conexion

Dim strcon As String

strcon = "Server=(local);Database=video;Trusted_Connection=TRUE;"

oConexion.ConnectionString = strcon

'crear adaptador

oDataAdapter = New SqlDataAdapter("SELECT * from SOCIOS",
oConexion)

'crear commandbuilder

Dim oCommandBuilder As SqlCommandBuilder = New
SqlCommandBuilder(oDataAdapter)

'crear dataset

Dim odataset As DataSet

odataset = New DataSet

oConexion.Open()

'llenar con el adaptador el dataset

oDataAdapter.Fill(odataset, "socios")

oConexion.Close()

'establecer el indicador del registro

'a mostrar en la tabla

Dim iposicFila As Integer = 0

'cargar columnas del registro en

'los controles del formulario

Dim oDataRow As DataRow

oDataRow = odataset.Tables("socios").Rows(iposicFila)

'cargar los controles del formulario con

'los valores de los campos del registro

Me.txtNumsocio = oDataRow("numsocio")

Catch ex As Exception

'Si se produce algún error

'lo capturamos mediante el objeto

'de excepciones particular para

'el proveedor SqlConnection

MsgBox(ex.Message)

End Try

End Sub



Muchas Gracias


Respuesta Responder a este mensaje
#2 Kev
29/09/2005 - 00:19 | Informe spam
El codigo no esta complicado, hago notar que por ejemplo el CommandBuilder
lo declara en vano ya que no lo usa.

El codigo en si lo que hace es, establecer conexion con la base de datos y
luego llenar el dataset. pero no le veo mucha cosa, porque el final solo
muestra el primer registro en un textbox. Revisa un poco como trabaja el
DataSet y veras que el codigo no es complicado, no te asustes... Una buena
practica es usar bloques de construccion y el Data Access entraria perfecto
aca.
'No te olvides importar
Imports System.Data.SqlClient

'El codigo esta aca, ojo que cambie la consulta porque
Dim strcon as string =
"Server=local);Database=video;Trusted_Connection=TRUE;"
'Conexion
Dim objCnn As SqlConnection = new SqlConnection(cString)
'DataAdapter
Dim objDA As SqlDataAdapter = new SqlDataAdapter("("SELECT top 1 *
from SOCIOS", objCnn)
Dim objDS as DataSet
objDA.Fill(objDS, "SOCIOS")
If objDA.Tables(0).Rows.Count > 0 Then
Me.txtNumsocio = objDA.Tables(0).Rows(0).item("numsocio")
End If

Salu2
Kevin Guisbert S.
guisbertkevin(arroba)gmail.com
"Juanjo Esteban" wrote in message
news:%
Hola a todos:

Me han pasado un codigo para cuando quiero abrir un formulario y que se
llenen de datos, el codigo es bastante complicado, lo que me gustaria
saber si hay algo mas comodo que el codigo que os pongo:

Private Sub frmSocios_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Try

Dim oConexion As New SqlConnection

Dim oDataAdapter As SqlDataAdapter

'crear conexion

Dim strcon As String

strcon = "Server=(local);Database=video;Trusted_Connection=TRUE;"

oConexion.ConnectionString = strcon

'crear adaptador

oDataAdapter = New SqlDataAdapter("SELECT * from SOCIOS",
oConexion)

'crear commandbuilder

Dim oCommandBuilder As SqlCommandBuilder = New
SqlCommandBuilder(oDataAdapter)

'crear dataset

Dim odataset As DataSet

odataset = New DataSet

oConexion.Open()

'llenar con el adaptador el dataset

oDataAdapter.Fill(odataset, "socios")

oConexion.Close()

'establecer el indicador del registro

'a mostrar en la tabla

Dim iposicFila As Integer = 0

'cargar columnas del registro en

'los controles del formulario

Dim oDataRow As DataRow

oDataRow = odataset.Tables("socios").Rows(iposicFila)

'cargar los controles del formulario con

'los valores de los campos del registro

Me.txtNumsocio = oDataRow("numsocio")

Catch ex As Exception

'Si se produce algún error

'lo capturamos mediante el objeto

'de excepciones particular para

'el proveedor SqlConnection

MsgBox(ex.Message)

End Try

End Sub



Muchas Gracias


Respuesta Responder a este mensaje
#3 Juan Pedro Gonzalez
30/09/2005 - 13:43 | Informe spam
Hola Juanjo,

Personalmente emplearía un DataReader en lugar del DataSet. El codigo sería
bastante parecido, sin embargo el DataReader es mas rapido que el DataSet y
si lo incluyes en el FormLoad la velocidad suele ser importante (La ventana
no se muestra hasta que la funcion FormLoad haya finalizado).

Saludos,

Juan Pedro Gonzalez

"Juanjo Esteban" escribió en el mensaje
news:%
Hola a todos:

Me han pasado un codigo para cuando quiero abrir un formulario y que se
llenen de datos, el codigo es bastante complicado, lo que me gustaria
saber si hay algo mas comodo que el codigo que os pongo:

Private Sub frmSocios_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Try

Dim oConexion As New SqlConnection

Dim oDataAdapter As SqlDataAdapter

'crear conexion

Dim strcon As String

strcon = "Server=(local);Database=video;Trusted_Connection=TRUE;"

oConexion.ConnectionString = strcon

'crear adaptador

oDataAdapter = New SqlDataAdapter("SELECT * from SOCIOS",
oConexion)

'crear commandbuilder

Dim oCommandBuilder As SqlCommandBuilder = New
SqlCommandBuilder(oDataAdapter)

'crear dataset

Dim odataset As DataSet

odataset = New DataSet

oConexion.Open()

'llenar con el adaptador el dataset

oDataAdapter.Fill(odataset, "socios")

oConexion.Close()

'establecer el indicador del registro

'a mostrar en la tabla

Dim iposicFila As Integer = 0

'cargar columnas del registro en

'los controles del formulario

Dim oDataRow As DataRow

oDataRow = odataset.Tables("socios").Rows(iposicFila)

'cargar los controles del formulario con

'los valores de los campos del registro

Me.txtNumsocio = oDataRow("numsocio")

Catch ex As Exception

'Si se produce algún error

'lo capturamos mediante el objeto

'de excepciones particular para

'el proveedor SqlConnection

MsgBox(ex.Message)

End Try

End Sub



Muchas Gracias


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida