Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/03/2009, 18:50
Avatar de Slackin
Slackin
 
Fecha de Ingreso: noviembre-2007
Ubicación: Puerto Montt, Chile
Mensajes: 86
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: Llenar un maestro-detalle, en gridview, a traves de un procedimiento almac

Bien, el proyecto esta formado por 3 archivos(Visual Basic 2005), un procedimiento almacenado "Recupera_Alumno"(sin parámetros) y una base de datos(Sql Server 2005 llamada) "Colegio":
(1)Alumno.aspx
(2)Alumno_capa_de_negocio.asmx(Web service ws_alumno)
(3)Conexion_Base_de_datos.asmx(Web service ws_AdmConexionBD)

El archivo alumno.aspx se comunica con "Alumno_capa_de_negocio.asmx", y este ultimo hace uso del archivo "Conexion_Base_de_datos.asmx".

El detalle de los archivos a acontinuación:

alumno.aspx.vb
Código:
Public Partial Class Alumno
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If (Not IsPostBack) Then

        End If
        RecuperarAlumno()

    End Sub


    Sub RecuperarAlumno()
        Dim ws As New ws_alumno.Alumno_capa_de_negocio
        Dim oDatos As New DataSet
        Dim sMsError As String = ""
        Dim boResultado As Boolean

        Try
            boResultado = ws.boListarAlumno(oDatos, sMsError)


            Dim cantidadFilas As Integer = oDatos.Tables(0).Rows.Count
            ASPxGridView_Decomisos.DataSource = oDatos.Tables(0)
            ASPxGridView_Decomisos.DataBind()
            ASPxGridView_Decomisos.KeyFieldName = "Rut_Alumno"
            oDatos.Dispose()

        Catch ex As Exception
            Response.Write(ex.ToString)
        End Try
    End Sub


End Class
alumno.aspx
Código:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Página sin título</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <dxwgv:ASPxGridView ID="ASPxGridView_Decomisos" runat="server" AutoGenerateColumns="False">
            <Columns>
                <dxwgv:GridViewDataTextColumn Caption="Rut_Alumno" FieldName="Rut_Alumno" VisibleIndex="0">
                </dxwgv:GridViewDataTextColumn>
                <dxwgv:GridViewDataTextColumn Caption="Nombre_Alumno" FieldName="Nombre_Alumno" VisibleIndex="1">
                </dxwgv:GridViewDataTextColumn>
                <dxwgv:GridViewDataTextColumn Caption="Apellido_Alumno" FieldName="Apellido_Alumno"
                    VisibleIndex="2">
                </dxwgv:GridViewDataTextColumn>
                <dxwgv:GridViewDataTextColumn Caption="Curso_Alumno" FieldName="Curso_Alumno" VisibleIndex="3">
                </dxwgv:GridViewDataTextColumn>
                <dxwgv:GridViewDataTextColumn Caption="Colegio_Alumno" FieldName="Colegio_Alumno"
                    VisibleIndex="4">
                </dxwgv:GridViewDataTextColumn>
            </Columns>
        </dxwgv:ASPxGridView>
    
    </div>
    </form>
</body>
</html>

Alumno_capa_de_negocio.asmx:
Código:
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel

<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Alumno_capa_de_negocio
    Inherits System.Web.Services.WebService


    <WebMethod()> _
        Function boListarAlumno(ByRef oDatos As DataSet, ByRef sErrMsg As String) As Boolean

        Dim oAdmConexion As New ws_AdmConexionBD.Conexion_Base_de_datos
        Dim sSql As String = ""
        Dim boRetorno As Boolean = True
        Dim sConn As String = ""

        sErrMsg = ""

        Try

            sSql = "Recupera_Alumno"
            boRetorno = oAdmConexion.boGetDataSet(sConn, sSql, oDatos, sErrMsg)
        Catch ex As Exception
            sErrMsg = ex.ToString
            boRetorno = False
        End Try

        Return (boRetorno)
    End Function

End Class
Conexion_Base_de_datos.asmx:
Código:
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports System.Data
Imports System.Data.SqlClient


<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Conexion_Base_de_datos
    Inherits System.Web.Services.WebService
    Public sConexionBD As String

    <WebMethod()> _
    Public Function boGetDataSet(ByVal sConn As String, _
                                ByVal sSql As String, _
                                ByRef oDatos As DataSet, _
                                ByRef sMsgErr As String) As Boolean

        Dim oConexion As New SqlConnection()
        Dim oComandoSql As SqlCommand
        Dim oAdapatadorSql As SqlDataAdapter
        Dim boHuboError As Boolean = False
        Try
            oConexion.ConnectionString = "Server=(local); Database=Colegio; uid=sa; pwd=bdcolegio12345;"
            oComandoSql = New SqlCommand("Recupera_Alumno", oConexion)
            oAdapatadorSql = New SqlDataAdapter(oComandoSql)
            oAdapatadorSql.Fill(oDatos, "Datos")
            oAdapatadorSql.Dispose()
            oComandoSql.Dispose()
        Catch ex As Exception
            sMsgErr = ex.ToString
            boHuboError = True
        End Try
        Return (Not boHuboError)
    End Function

End Class
bueno, eso es todo. Espero que a alguien le funcione.


at 2009-03-07

Última edición por Slackin; 07/03/2009 a las 18:56