1 Proyecto 200711 Real ADO MySQL Imports MySql.Data.MySqlClient Imports MySql.Data.Types 'Comprobar la conexión (el password tuvimos que añadirlo): ' server=localhost;User Id=root;password=Fabada2011;Persist Security Info=True;database=libreria

Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Conexion.Open() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error en BD") End Try Dim Adaptador As New MySqlDataAdapter("SELECT * FROM AUTORES", Conexion) Adaptador.MissingSchemaAction = MissingSchemaAction.AddWithKey Dim Datos As New DataSet("MisDatosDataSet") Adaptador.Fill(Datos, "Tabla") Dim Manejador As New DataViewManager(Datos) 'Este manejador actuará sobre el DataSet "Datos". Manejador.DataViewSettings("Tabla").RowFilter = "NOMBRE LIKE '" _ + tbNombre.Text + "%'" dgvDatos.DataSource = Manejador dgvDatos.DataMember = "Tabla" Conexion.Close()

'Esquema válido sólo para consultas. Lo más válido.

End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Try Conexion.Open() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error en BD") End Try Dim Adaptador As New MySqlDataAdapter("SELECT * FROM AUTORES", Conexion) Adaptador.MissingSchemaAction = MissingSchemaAction.AddWithKey Dim Datos As New DataSet("MisDatosDataSet") Adaptador.Fill(Datos, "Tabla") dgvDatos.DataSource = Datos dgvDatos.DataMember = "Tabla" Conexion.Close() End Sub

'Esquema CLÁSICO.

2 Proyecto 200711 Real ADO MySQL Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Try Conexion.Open() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error en BD") End Try 'Creamos el adaptador. Dim Adaptador As New MySqlDataAdapter("SELECT * FROM EDITORIALES", Conexion) 'Recuperamos el esquema de la clave. Adaptador.MissingSchemaAction = MissingSchemaAction.AddWithKey 'Creamos el DataSet. Dim Datos As New DataSet("MisDatosDataSet") 'Llenamos el DataSet con los datos de la tabla "Editoriales". Adaptador.Fill(Datos, "Tabla") 'Obtenemos una vista de (todas) las editoriales. Dim Vista As New DataView(Datos.Tables("Tabla"), "NOMBRE LIKE '%'", _ "NOMBRE ASC", DataViewRowState.CurrentRows) 'Mostramos la vista en dgvDatos. dgvDatos.DataSource = Vista 'Sobra el DataMember: la Vista ya tiene asociado el nombre de la tabla. Conexion.Close() '

'ESTE SISTEMA TAMBIÉN SIRVE PARA CONSULTAS. Además, permite Editar, Borrar e Insertar.

End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Try Conexion.Open() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error en BD") End Try 'Creamos el adaptador. Dim Adaptador As New MySqlDataAdapter("SELECT * FROM EDITORIALES", Conexion) 'Recuperamos el esquema de la clave. Adaptador.MissingSchemaAction = MissingSchemaAction.AddWithKey 'Creamos el DataSet. Dim Datos As New DataSet("MisDatosDataSet") 'Llenamos el DataSet con los datos de la tabla "Editoriales". Adaptador.Fill(Datos, "Tabla") 'Obtenemos una vista de (todas) las editoriales. Dim Vista As New DataView(Datos.Tables("Tabla"), "NOMBRE LIKE '%'", _ "NOMBRE ASC", DataViewRowState.CurrentRows) '----------------------- Cambio con relación al botón anterior. 'La Vista es un objeto del tipo DataView. Contiene una colección DataRowView (Vista de datos de Fila). 'Tiene un objeto del tipo DataRowView por cada fila resultado de la consulta. 'Se puede acceder a cada fila con ITEM (índice de la fila). Recordamos que la 1ª fila es 0. MsgBox("Nº de filas: " + CStr(Vista.Count())) 'Para recorrer las filas... Dim Fila As DataRowView

3 Proyecto 200711 Real ADO MySQL For i = 0 To Vista.Count - 1 Fila = Vista.Item(i) 'Recorre las filas 1 por 1. MsgBox(Fila.Item(0).ToString) 'Accede a la columna 0 (por ej., le pedimos esto). 0 es la PK. Next '----------------------------'Mostramos la vista en dgvDatos. dgvDatos.DataSource = Vista 'Sobra el DataMember: la Vista ya tiene asociado el nombre de la tabla. Conexion.Close() ' End Sub

'ESTE SISTEMA TAMBIÉN SIRVE PARA CONSULTAS. Además, permite Editar, Borrar e Insertar.

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Try Conexion.Open() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error en BD") End Try Dim Adaptador As New MySqlDataAdapter("SELECT * FROM AUTORES", Conexion) Adaptador.MissingSchemaAction = MissingSchemaAction.AddWithKey Dim Comando As New MySqlCommandBuilder(Adaptador) 'creamos el DataSet. Dim Datos As New DataSet("MisDatosDataSet") 'Llenamos el dataSet con los registros de Autores. Adaptador.Fill(Datos, "Tabla") 'Obtenemos una vista de todos los autores. Dim Vista As New DataView(Datos.Tables("Tabla"), "NOMBRE LIKE '%'", "NOMBRE DESC", DataViewRowState.CurrentRows) 'Creamos una nueva fila en la vista. Dim Fila As DataRowView = Vista.AddNew() Try Fila("IDAUTOR") = 0 'NOTA: Esto se pone para resolver el problema del MySQL de siempre. Después lo corrige. 'En el SQL se evita este problema. Fila("NOMBRE") = tbNombreAutor.Text Fila("EDAD") = CInt(tbEdad.Text) Fila("IDEDITORIAL") = CInt(tbIdEditorial.Text) 'Finalizamos la edición. Fila.EndEdit() 'Actualizamos el origen de datos. Adaptador.Update(Datos, "Tabla") Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al editar") End Try 'Mostramos la vista en dgvDatos. dgvDatos.DataSource = Vista 'Si quitamos esto evitamos que refresque los datos (con el Botón 1, en este caso).

4 Proyecto 200711 Real ADO MySQL Conexion.Close() 'Llama al evento del botón 1 y, así, refresca los datos. Recordamos: ESTO SÓLO SUCEDE EN MySQL. Button1.PerformClick() End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click ' ----------------

Borrar con un DataView.

Try Conexion.Open() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error en BD") End Try Dim Adaptador As New MySqlDataAdapter("SELECT * FROM AUTORES", Conexion) Adaptador.MissingSchemaAction = MissingSchemaAction.AddWithKey Dim Comando As New MySqlCommandBuilder(Adaptador) 'creamos el DataSet. Dim Datos As New DataSet("MisDatosDataSet") 'Llenamos el dataSet con los registros de Autores. Adaptador.Fill(Datos, "Tabla")

'Obtenemos una vista con el autor especificado (para borrar). Dim Vista As New DataView(Datos.Tables("Tabla"), "IDAUTOR=" + CStr(tbIdAutor.Text), _ "NOMBRE DESC", DataViewRowState.CurrentRows) 'Esta Vista sólo contiene un registro ya que busca por la clave. El índice de ese registro es 0. 'Para comprobar. ' MsgBox(CStr(Vista.Count)) If Vista.Count <> 0 Then Vista.Item(0).Delete() 'ASÍ ELIMINAMOS EL REGISTRO. Else MsgBox("No exsite ningún autor con esta clave", MsgBoxStyle.Critical, "Error al borrar") Exit Sub End If ' ' '

Otra opción para eliminar: Dim Fila As DataRowView = Vista.Item(0) Fila.Delete()

Try 'Actualizamos el origen de datos. Adaptador.Update(Datos, "Tabla") Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al editar") End Try 'Mostramos la vista en dgvDatos.

5 Proyecto 200711 Real ADO MySQL dgvDatos.DataSource = Vista (con el Botón 1, en este caso). Conexion.Close()

'Si quitamos esto evitamos que refresque los datos

'Llama al evento del botón 1 y, así, refresca los datos. Recordamos: ESTO SÓLO SUCEDE EN MySQL. Button1.PerformClick() End Sub Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click '

-------------------------

Modificar registros con un View.

Try Conexion.Open() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error en BD") End Try Dim Adaptador As New MySqlDataAdapter("SELECT * FROM AUTORES", Conexion) Adaptador.MissingSchemaAction = MissingSchemaAction.AddWithKey Dim Comando As New MySqlCommandBuilder(Adaptador) 'creamos el DataSet. Dim Datos As New DataSet("MisDatosDataSet") 'Llenamos el dataSet con los registros de Autores. Adaptador.Fill(Datos, "Tabla") 'Obtenemos una vista de todos los autores. Dim Vista As New DataView(Datos.Tables("Tabla"), "IDAUTOR=" + CStr(tbIdAutor.Text), _ "NOMBRE DESC", DataViewRowState.CurrentRows) If Vista.Count = 0 Then MsgBox("No exsite ningún autor con esta clave", MsgBoxStyle.Critical, "Error al borrar") Exit Sub End If Try 'Obtengo la fila en cuestión. Dim Fila As DataRowView = Vista.Item(0) Fila.BeginEdit() 'Modificamos la fila seleccionada en la vista. Fila("NOMBRE") = tbNombreAutor.Text Fila("EDAD") = CInt(tbEdad.Text) Fila("IDEDITORIAL") = CInt(tbIdEditorial.Text) 'Finalizamos la edición. Fila.EndEdit() 'Actualizamos el origen de datos. Adaptador.Update(Datos, "Tabla") Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al editar") End Try 'Mostramos la vista en dgvDatos. dgvDatos.DataSource = Vista 'Si quitamos esto evitamos que refresque los datos (con el Botón 1, en este caso).

6 Proyecto 200711 Real ADO MySQL

Conexion.Close() 'Llama al evento del botón 1 y, así, refresca los datos. Recordamos: ESTO SÓLO SUCEDE EN MySQL. Button1.PerformClick() End Sub End Class

200711 Real ADO MySQL.pdf

DataMember = "Tabla". Conexion.Close() 'Esquema válido sólo para consultas. Lo más válido. End Sub. Private Sub Button2_Click(ByVal sender As System.

239KB Sizes 3 Downloads 211 Views

Recommend Documents

LIC ADO
LIKE our Facebook page http://www.facebook.com/Gr8AmbitionZ for Daily Updates. Page 3. 2 www.Gr8AmbitionZ.com. LIKE our Facebook page ...

Page 1 COLOR ADO q Official State WebPortal COLOR ADO ...
Broadband Program from the sale of recreational marijuana to be used to fund several statewide programs, including a Local ... Rural Economic Development.

2011 ADO Testing Figures - WADA
International Federation of Bodybuilding & Fitness (IFBB). 10. 10. Confederation Mondial des Sports de Boules (CMSB). 13. 0. World Bridge Federation (WBF). 0.

20160625 Much Ado About Shakespeare - Programme.pdf ...
20160625 Much Ado About Shakespeare - Programme.pdf. 20160625 Much Ado About Shakespeare - Programme.pdf. Open. Extract. Open with. Sign In.

ado activex data objects pdf
There was a problem previewing this document. Retrying... Download. Connect more apps. ... ado activex data objects pdf. ado activex data objects pdf. Open.

ado activex data objects pdf
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. ado activex data objects pdf. ado activex data objects pdf. Open.

Microsoft Word - GENERAL INFORMATION ADO 141.pdf ...
Page 1 of 2. Page 2 of 13. 4.0 Essential Qualifications :- 4.1) Should possess degree in B. Sc. (Agriculture) (with minimum Sixty percent marks), from. a recognized University or Institution. Provided that Preference shall be given to a person, who p

pdf-1690\much-ado-about-nothing-by-william-shakespeare.pdf ...
Gr 10 Up-Naxos AudioBooks' top-drawer Classic Drama Series blissfully continues with this. exquisite rendition of Othello starring Hugh Quarshie, Anton Lesser, Emma Fielding, and a full cast. of professional English actors with extensive credits in t

pro ado net data services pdf
Sign in. Loading… Whoops! There was a problem loading more pages. Retrying... Whoops! There was a problem previewing this document. Retrying.