Visual Basic.NET - Programación en capas con procedimiento almacenado

   
Vista:
Imágen de perfil de Elizabeth

Programación en capas con procedimiento almacenado

Publicado por Elizabeth (7 intervenciones) el 13/06/2015 21:59:54
Hola necesito hacer este codigo en capas como lo puedo realizar?
debo tener una capa de entidad, negocio, datos, conexión y otra de presentación porfa si alguien puede ayudarme gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Private Sub Llenar_DataGridView()
        'Los argumentos de conexión a la base de datos 
        Dim args As String = "Data Source=local-PC\SQLEXPRESS; Initial Catalog=Produccion_panaderia; Integrated Security=true"
 
        'Abro la conexión
        Using connection As SqlConnection = New SqlConnection(args)
            Dim command As SqlCommand
            Dim adapter As SqlDataAdapter
            Dim dtTable As DataTable
 
            'Indico el SP que voy a utilizar
            command = New SqlCommand("grilla", connection)
            command.CommandType = CommandType.StoredProcedure
            adapter = New SqlDataAdapter(command)
            dtTable = New DataTable
            With command.Parameters
                'Envió los parámetros que necesito
                .Add(New SqlParameter("@id_receta_cab", SqlDbType.Int)).Value = cboreceta.SelectedValue
                .Add(New SqlParameter("@cantidad", SqlDbType.Decimal)).Value = txtcantidad.Text
 
            End With
            Try
                'Aquí ejecuto el SP y lo lleno en el DataTable
                adapter.Fill(dtTable)
                'Enlazo mis datos obtenidos en el DataTable con el grid
                DataGridView1.DataSource = dtTable
                'Si no pongo esta línea, se crean automáticamente los campos del grid dependiendo de los campos del DataTable
                DataGridView1.AutoGenerateColumns = False
                'Aquí le indico cuales campos del select de mi SP van con los campos de mi grid
                With DataGridView1
 
                    .Columns("Codigo").DataPropertyName = "id_producto"
                    .Columns("descripcion").DataPropertyName = "descripcion"
                    .Columns("precio").DataPropertyName = "precio_costo"
                    .Columns("cantidad").DataPropertyName = "Cantidad"
                    .Columns("total").DataPropertyName = "total"
                    .Columns("existencia").DataPropertyName = "exitencia"
                    .Columns("existenciaactual").DataPropertyName = "existenciaactual"
                End With
            Catch expSQL As SqlException
                MsgBox(expSQL.ToString, MsgBoxStyle.OkOnly, "SQL Exception")
                Exit Sub
            End Try
        End Using
    End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo

Programación en capas con procedimiento almacenado

Contáctame, para ayudarte.

Lo que tienes allí, el 98% debe estar en tu capa de Acceso a datos y el resto en tu capa de presentación.

Solo avísame que horarios tienes disponibles.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Programación en capas con procedimiento almacenado

Publicado por carlos (11 intervenciones) el 13/09/2016 23:57:12
yo estoy algo parecido pero en dos grillas, quiero pasar datos de una grilla a otra ,pero no me deja,ya tengo los store, pero n se en que forma ponerlo, ahi sta un ejemplo

primera grilla:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Private Sub cargar_registros(ByVal sql As String, ByVal dv As DataGridView)
    Try
        '-------------------------------------------------
 
 
        SqlDataAdapter = New SqlDataAdapter("SP_Agro_Sel_CsPlanLotePrueba", cs)
        SqlDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure
        ' SqlDataAdapter.SelectCommand.Parameters.Add("@pNumSemana", SqlDbType.Int).Value = 5
        'da.Fill(dt)
        '-------------------------------------------------
        ' Inicializar el SqlDataAdapter indicandole el comando y el connection string  
        '   SqlDataAdapter = New SqlDataAdapter(sql, cn)
 
 
        Dim SqlCommandBuilder As New SqlCommandBuilder(SqlDataAdapter)
        Dim dt As New DataTable
        ' llenar el DataTable  
        ' Dim dt As New DataTable()
        SqlDataAdapter.Fill(dt)
 
        'Me.DataGridView1.DataSource = dt
        ' Enlazar el BindingSource con el datatable anterior  
        bs.DataSource = dt
 
        With dv
            .Refresh()
            ' coloca el registro arriba de todo  
            .FirstDisplayedScrollingRowIndex = bs.Position
        End With
 
        'bEdit = False
        Me.DgvPlanLote.Columns("nCsValor").Visible = False
        Me.DgvPlanLote.Columns("nCsValor1").Visible = False
        Me.DgvPlanLote.Columns("nIdCsPlanLote").Visible = False
        Me.DgvPlanLote.Columns("nIdCsLote").Visible = False
        Me.DgvPlanLote.Columns("nIdCsRegSubLote").Visible = False
        Me.DgvPlanLote.Columns("nIdCsVariedadesFenologicas").Visible = False
        Me.DgvPlanLote.Columns("nIdCsProyeccion").Visible = False
        Me.DgvPlanLote.Columns("nIdCsTipPlanificacion").Visible = False
    Catch exSql As SqlException
        MsgBox(exSql.Message.ToString)
    Catch ex As Exception
        MsgBox(ex.Message.ToString)
    End Try
End Sub

segunda grilla:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Private Sub cargar_registros1(ByVal sql As String, ByVal dv1 As DataGridView)
    Try
        '-------------------------------------------------
        SqlDataAdapter1 = New SqlDataAdapter("SP_Agro_Sel_ScPlanLoteP2", cs)
        SqlDataAdapter1.SelectCommand.CommandType = CommandType.StoredProcedure
 
        'da.Fill(dt)
        '-------------------------------------------------
        ' Inicializar el SqlDataAdapter indicandole el comando y el connection string  
        '   SqlDataAdapter = New SqlDataAdapter(sql, cn)
 
 
        Dim SqlCommandBuilder1 As New SqlCommandBuilder(SqlDataAdapter1)
        Dim dt1 As New DataTable
        ' llenar el DataTable  
        ' Dim dt As New DataTable()
        SqlDataAdapter1.Fill(dt1)
 
        'Me.DataGridView1.DataSource = dt
        ' Enlazar el BindingSource con el datatable anterior  
        bs1.DataSource = dt1
 
        With dv1
            .Refresh()
            ' coloca el registro arriba de todo  
            .FirstDisplayedScrollingRowIndex = bs1.Position
        End With
 
        'bEdit = False
        Me.DgvCsPlanlote.Columns("nScValor").Visible = False
        Me.DgvCsPlanlote.Columns("nScValor1").Visible = False
        Me.DgvCsPlanlote.Columns("nIdScPlanLote").Visible = False
        Me.DgvCsPlanlote.Columns("nIdScLote").Visible = False
        Me.DgvCsPlanlote.Columns("nIdScRegSubLote").Visible = False
        Me.DgvCsPlanlote.Columns("nIdScVariedadesFenologicas").Visible = False
        Me.DgvCsPlanlote.Columns("nIdScProyeccion").Visible = False
        Me.DgvCsPlanlote.Columns("nIdScTipPlanificacion").Visible = False
    Catch exSql As SqlException
        MsgBox(exSql.Message.ToString)
    Catch ex As Exception
        MsgBox(ex.Message.ToString)
    End Try
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Programación en capas con procedimiento almacenado

Y eso también lo tienes en capas?.

Ya que no veo por ninguna parte algo que se le parezca a una arquitectura en capas.

La verdad no entiendo, lo que pretendes, pero si vas a pasar datos de un datagridview a otro.

Si ya tienes uno de ellos con los datos, pasarlo a otro sería tan simple como darle doble clic al que tiene los datos y hacer algo así:

datagridview2.rows.add()
datagridview2.rows(0).cells(0).vale=algunvalor

En todo caso contáctame a ver si te puedo echar una mano.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar