Sunteți pe pagina 1din 38

p_authors

Create Procedure p_authors


@state varchar(10)
as
select * from authors where state = @state
Conexión
Sub Page_Load(Source As Object, E As EventArgs)

Dim myConnection As SqlConnection


Dim dr As SqlDataReader
Dim ConnStr As String
'Establezca la conexión
ConnStr = "Data Source=(local);Initial
Catalog=ASPNET;Integrated Security=True"
myConnection = New SqlConnection(ConnStr)
Comando
'comando
Dim myCommand As New
SqlCommand("p_authors", myconnection)
myCommand.CommandType =
CommandType.StoredProcedure

'Objeto Parameter
Dim objParam As SqlParameter
objParam = myCommand.Parameters.Add("State",
SqlDbType.VarChar, 10)
objParam.Direction = ParameterDirection.Input
objParam.Value = "CA"
DataReader
Try
'abrir la conexión y ejecutar el comando
myconnection.Open()
'ExecuteReader devuelve un Reader
dr = myCommand.ExecuteReader()
Catch objError As Exception
'muestre errores aquí y detenga la ejecución por error
Exit Sub '

End Try
‘Se enlaza la grilla a la fuente de datos.
DataGrid1.DataSource=dr
DataGrid1.DataBind()
End Sub
Declaración de variables y objetos
Sub Page_Load(Source As Object, E As
EventArgs)

Dim myConnection As SqlConnection


Dim myCommand As SqlDataAdapter
Dim ds As New DataSet
Dim ConnStr As String
Dim SQL As String
Conexión
'Establezca la conexión
ConnStr = "Data Source=(local);Initial
Catalog=ASPNET;Integrated
Security=True"
myConnection = New
SqlConnection(ConnStr)
Comando
'DataSetCommand
SQL = "Execute p_authors ‘CA’ "
myCommand = New
SqlDataAdapter(SQL, myConnection)
'utilice el método Fill del
DataSetCommand para completar el
conjunto de datos
myCommand.Fill(ds, "Authors")
Vinculación de datos
'Vinculación a una cuadrícula
DataGrid1.DataSource =
ds.Tables("Authors").DefaultView
DataGrid1.DataBind()
End Sub
Declaración de variables
Sub readDs(Sender As Object, E As EventArgs)
Dim dv As DataView
Dim i As Integer
Dim myConnection As SqlConnection
Dim myCommand As SqlDataAdapter
Dim ds As New DataSet
Dim ConnStr As String
Dim SQL As String
CONEXION
'Conexión
ConnStr = "Data Source=(local);Initial
Catalog=ASPNET;Integrated Security=True"
myConnection = New SqlConnection(ConnStr)
SQL = “SELECT * FROM groups "
COMANDO
'Comando
myCommand = New
SqlDataAdapter(SQL, myConnection)
myCommand.Fill(ds, "groups")
DataView
'DataView (vista)
dv = New DataView(ds.Tables("groups"))
'// Ordene la vista en función de la columna
code_display
dv.Sort = "code_display"
'// Filtre la vista de datos para mostrar
únicamente el apellido Smith
dv.RowFilter = "code_value = '700'"
Presentación de datos
'Se itera en la vista y se presentan los elementos
For i = 0 To dv.Count - 1

Response.Write(dv(i)("code_display").ToString +
" - " + dv(i)("code_value").ToString())
Next
end sub
Descripción del programa
• Leer la colección de filas y columnas de
un Datatable
Declaración de variables
• Sub Page_Load(sender As Object, e As EventArgs)
• 'Declaración de variables
• Dim dv As DataView
• Dim myConnection As SqlConnection
• Dim myCommand As SqlDataAdapter
• Dim ds As New DataSet
• Dim ConnStr As String
• Dim SQL As String
• SQL = "select * from groups where code_value =
700 "
Conexión
'Conexión
ConnStr = "Data Source=(local);Initial
Catalog=ASPNET;Integrated
Security=True"
myConnection = New
SqlConnection(ConnStr)
Comando
'Comando
myCommand = New
SqlDataAdapter(SQL, myConnection)
myCommand.Fill(ds, "groups")
DataView
'DataView
dv = New DataView(ds.Tables("groups"))
Dim t As DataTable
t = dv.Table
Control Tabla
Dim r As DataRow
Dim c As DataColumn
Dim _cell As TableCell
Dim _row As TableRow
Table = New Table()
Controls.Add(Table)
Recorrer la tabla
'Por cada fila en la colección de filas de la tabla
For Each r In t.Rows
'Por cada columna en la colección columnas de la tabla
For Each c In t.Columns
_row = New TableRow() '<tr>
'Etiqueta
_cell = New TableCell() '<td>
_cell.Controls.Add(New LiteralControl(c.ToString))
_row.Cells.Add(_cell) '</td>

'Valor
_cell = New TableCell() '<td>
_cell.Controls.Add(New LiteralControl(r(c).ToString))
_row.Cells.Add(_cell) '</td>
'Añadir una fila a la tabla
Table.Rows.Add(_row) '</tr>
Next c
Next r
end sub
Declaración de variables
'Declaración de variables
Dim myConnection As SqlConnection
Dim myCommand As SqlDataAdapter
Dim ds As New DataSet
Dim ConnStr As String
Dim SQL As String
Load de la página web
Sub Page_Load(ByVal Source As Object,
ByVal E As EventArgs)
'Si no es la primera vez que se carga la
página web en memoria
If Not (IsPostBack) Then
FillList()
End If
End Sub
Conexión
Sub FillList()
ConnStr = "Data Source=(local);Initial
Catalog=ASPNET;Integrated
Security=True"
myConnection = New
SqlConnection(ConnStr)
DataReader
Dim dbRead As SqlDataReader
Dim dbComm As SqlCommand
SQL = "Select * from groups ORDER BY code_value"
dbComm = New SqlCommand(SQL, myConnection)
myConnection.Open()
dbRead = dbComm.ExecuteReader()
While dbRead.Read()
ddlist.Items.Add(New
ListItem(dbRead.Item("code_display")))
End While
End Sub
Declaración de variables
Sub readDs(Sender As Object, E As EventArgs)
'Dim dv as DataView
Dim i as integer
Dim myConnection As SqlConnection
Dim myCommand As SqlDataAdapter
Dim ds As New DataSet
Dim ConnStr As String
Dim SQL As String
Conexión
ConnStr = "Data Source=(local);Initial
Catalog=ASPNET;Integrated
Security=True;"
myConnection = New
SqlConnection(ConnStr)
Comandos
'Complete la tabla authors
SQL = "select * from authors "
myCommand = New SqlDataAdapter(SQL,
myConnection)
myCommand.Fill(ds, "authors")
'Complete la tabla TitleAuthor
SQL = "select * from titleAuthor"
myCommand = New SqlDataAdapter(SQL,
myConnection)
myCommand.Fill(ds, "titleauthor")
Relación
'Defina una relación en función de au_id
'dc1 es la tabla principal, dc2 es la tabla
secundaria
Dim dc1 As DataColumn
Dim dc2 As DataColumn
dc1 = ds.Tables("Authors").Columns("au_id")
dc2 = ds.Tables("titleauthor").Columns("au_id")
Dim dr As DataRelation
dr = New DataRelation("vRelation", dc1, dc2)
ds.Relations.Add(dr)
Recorrer la relación
'Recorra en bucle la relación
dim child() as datarow
dim r as datarow
for each r in ds.Tables("Authors").Rows

child = r.GetChildRows(ds.Relations("vRelation"))
for i = 0 to UBound(child)
Response.Write(child(i)("au_id").ToString )

next

next
end sub
Dataset
• Admite restricciones exclusivas y en cascada, al igual
que una BD.
• El código se puede incluir en un bloque BeginEdit ….
EndEdit.
• Se pospone la validación de limitación hasta que se
ejecute el método EndEdit.
• Por cada fila se almacenan tres valores:
– Valor original.
– Valor actual: se convierte en el valor original una vez que se
ejecuta el método Accept Changes.
– Valor propuesto: valor intermedio entre BeginEdit …. End Edit.
• Método RejectChanges
– Omite los cambios realizados en el DataSet.

S-ar putea să vă placă și