Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo personalizar la consulta SQL al vincular la base de datos de Access en vb2010 y mostrar los resultados en datagradview

Cómo personalizar la consulta SQL al vincular la base de datos de Access en vb2010 y mostrar los resultados en datagradview

Importa System.Data.SqlClient

Importa System.Data

Importa System.Data.OleDb

Clase pública Form1

Dim odCnn como OleDbConnection

Dim odApter como OleDbDataAdapter

Dim dataPath como cadena

Dim passWord como cadena

Dim cnnStr As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data source="

Dim selectTabel As String

Dim sqlStr As String

Dim dataSet As DataSet

Atenuar dataTable como DataTable

Atenuar openFileDlg como OpenFileDialog

Atenuar dataGridView como DataGridView

Atenuar CB como OleDbCommandBuilder

Atenuar myTable como tabla de datos

Función dlg(Índice ByVal como entero) como cadena

openFileDlg = Nuevo OpenFileDialog

Con openFileDlg

.Title = "Programa de base de datos Zhang Zhichen V2012"

.Filter = "Base de datos Aaccess07-10|*.accdb|base de datos access97-03|*.mdb| Todos los tipos|*.*"

.FilterIndex = index

.ShowDialog()

Devolver .FileName

Terminar con

Función final

Subbotón privado1_Click(ByVal remitente como System.Object, ByVal e As System.EventArgs) maneja Button1.Click

Label1.Text = dlg(1)

dataPath = Label1 Texto

passWord = ""

cnnStr = cnnStr amp dataPath "JET OLEDB: Base de datos

Contraseña=" amp; contraseña

odCnn = Nueva OleDbConnection(cnnStr)

odCnn.Open()

getTableName()

odApter = Nuevo OleDbDataAdapter

End Sub

Función getTableName()

'Obtener la lista de la tabla de datos

'El tipo incluye: "TABLE, VER, TABLA DE ACCESO, TABLA DEL SISTEMA",

Dim dt como DataTable

Dim i como entero

dt = odCnn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _

Nuevo Objeto() {Nada, Nada, Nada, "TABLE"})

'DataGridView2.DataSource = dt'.....Muestra toda la información de la tabla

For i = 0 To dt.Rows.Count - 1 'Número de registros, es decir, número de filas

ComboBox1.Items.Add(dt.Rows(i).Item( "TABLE_NAME") )

'El nombre del campo mostrado es TABLE_NAME El valor de la fila de la columna es el nombre de la tabla creada por el usuario

Siguiente

ComboBox1.Text = ComboBox1.Items(0) 'Establece la primera tabla como el valor del cuadro de lista, es decir, muestra la primera tabla

MsgBox("Hay ***" amp; dt .Rows.Count amp; "tablas" en la base de datos)

Función final

Función fillData()

Dim sql As String = "seleccionar * de " amp; selectTabel 'Crear tipo de carácter de consulta

''''Tenga en cuenta aquí: Dim sql As String = "select * from MyTanle When [age]gt; 45 And [education]=大本"

odApter = New OleDb.OleDbDataAdapter(sql , odCnn) 'Bridge

dataSet = New DataSet 'Instancia de base de datos virtual en memoria

odApter.Fill(dataSet, "table ") 'La instancia anterior está completa

dataGridView.DataSource = dataSet.Tables("table")

dataGridView.AutoResizeColumns()

dataGridView.AutoResizeRows()

'myTable = New DataTable

'odApter.Fill(myTable)

'dataGridView.DataSource = myTable

'Obtiene el nombre del campo y completa la lista

getField()

CB = New OleDb.OleDbCommandBuilder(odApter) 'Usado Registre automáticamente sus cambios en los datos

Si CB no es nada, entonces

CB.DataAdapter = New OleDb.OleDbDataAdapter

odApter.DeleteCommand = CB.DataAdapter.DeleteCommand

odApter.InsertCommand = CB.DataAdapter.InsertCommand

odApter.UpdateCommand = CB.DataAdapter.UpdateCommand

End If

'MsgBox ( "***Número de registros:" amp; dataSet.Tables("table").Rows.Count, vbOKOnly, "Abrir correctamente")

Función final

Función getField( )

Para i Como entero = 0 Para dataSet.Tables("table").Columns.Count - 1

ComboBox2.Items.Add(dataSet.Tables("table ") .Columns(i).Caption)

Siguiente

Función final

'Crear una cuadrícula

Private Sub Form1_Load( ByVal remitente como System.Object, ByVal y As System.EventArgs) Maneja MyBase.Load

dataGridView = Nuevo DataGridView

Me.Controls.Add(dataGridView)

Con dataGridView

.Arriba = 60

.Izquierda = 0

.Ancho = Yo.Ancho - 20

.Alto = Yo.Alto

- 40 - 60

.Visible = True

End With

End Sub

'Abre la tabla especificada

Private Sub Button2_Click(ByVal remitente As System.Object, ByVal e As System.EventArgs) Maneja Button2.Click

selectTabel = ComboBox1.Text

fillData()

Finalizar sub

Sub botón privado3_Click(ByVal remitente como System.Object, ByVal y como System.EventArgs) Maneja el botón3.Click

save_sub()

End Sub

'Guardar datos

Función save_sub()

Dim temptb As DataTable

temptb = dataGridView.DataSource.GetChanges( ) 'Obtener la información de cambio

Si temptb no es nada Entonces 'Si hay cambios

odApter.Update(dataGridView.DataSource) 'Guardar los cambios, en esencia, cambiar los datos de la publicación volver a la base de datos

MsgBox("¡Sus cambios se han enviado de nuevo a la base de datos!", , "Programa general de base de datos")

Else

MsgBox( "¡No cambiaste ningún dato!", , "Programa de base de datos genérico")

Función de salida

Fin si

Función de fin

Private Sub Button4_Click(ByVal remitente como System.Object, ByVal e As System.EventArgs) maneja Button4.Click

Dim sr como nuevo DataView

sr = dataSet.Tables("table " ).DefaultView

sr.RowFilter = ComboBox2.Text amp; "='" amp; TextBox1.Text amp; "'" 'Esta es otra consulta personalizada

ListBox1 .DataSource = sr

Fin Sub

Fin Clase