Conxecion sql

Solo disponible en BuenasTareas
  • Páginas : 7 (1690 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de enero de 2012
Leer documento completo
Vista previa del texto
1

Conectar a SQL server con visual basic.net y mostrar datos
Un pequeño ejemplo de cómo conectar con SQL server y mostrar datos con dataset mediante una consulta select.

Lo primero es abrir su nuevo proyecto con Visual Basic, agregar al formulario un Botón y un DataGridView, después en la misma ventana de diseño damos un doble clic sobre el Button con el de que nos muestre la pantalla decódigo. Primero que nada declaramos los Imports, esto lo declaramos al inicio de todo el código: (Por favor si te gusto esto da en la columna derecha superior en esta página dale clic en +1) Imports System.Data Imports System.Data.SqlClient Posteriormente dentro del evento Clic del button iniciaremos con el código que conectara y mostrara los datos: Primero creamos una variable llamada cnn deltipo conexión de SQL y asignaremos como valor la cadena de conexión a nuestra base de datos de SQL Server: Dim cnn As New SqlConnection("Server=MiServidor;uid=sa;pwd=123456;database=MiDB") Después definimos una variable de tipo SQL Adapter a la cual signaremos como valor la cadena de consulta SQL que queramos ejecutar, es decir la Query, a esta cadena la llamaremos da: Dim da As NewSqlDataAdapter("select * from optimas", cnn) Definimos otra variable llamada ds del tipo DataSet:

2

Dim ds As New DataSet Y posteriormente llamamos a los datos: da.Fill(ds) DataGridView1.DataSource = ds.Tables(0) El método Fill, se encarga de crear las tablas, y darle los nombres de columnas y los tipos de dato que almacenarán esas columnas, así como de rellenar las filas con los datos en función delresultado obtenido con la consulta SQL creada para la propiedad SelectCommand. De este modo rellena el DataSet indicado y sus DataTable. Todo el código completo: Imports System.Data Imports System.Data.SqlClient Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Syste m.EventArgs) Handles Button1.Click Dim cnn As NewSqlConnection("Server=valpmaple01;uid=sa;pwd=messrv;database=Wasp") Dim da As New SqlDataAdapter("select * from optimas", cnn) Dim ds As New DataSet da.Fill(ds) DataGridView1.DataSource = ds.Tables(0) End Sub End Class

3

Añadir nuevos registros
Para añadir nuevos registros, lo primero que tenemos que hacer es crear una nueva fila. Para ello utilizamos el método NewRow del objeto DataTable. Al usar ese método, nos aseguramos que la nuevafila creada tiene todos los datos sobre la estructura de la tabla (o de la selección que hemos hecho), de forma que podamos asignar los campos, etc. La asignación de los campos la hacemos mediante el método asignarDatos, aunque podríamos haberlo hecho directamente. El hacerlo mediante ese método es para que nos resulte más cómo adaptar este ejemplo a otra tabla diferente a la que yo propongo, ya queen ese método haríamos todas las asignaciones que debamos hacer, salvo la del campo ID ya que al ser auto numérico no podemos asignarle un valor, porque ese valor lo asignará automáticamente ADO.NET. Una vez que la fila tiene asignados los valores de los campos, la añadimos a las fila de la tabla. Esto es necesario, ya que el método NewRow solo crea una fila, pero no la "relaciona" (o añade) a latabla actual. Finalmente actualizamos los datos mediante el método Update del adaptador. En realidad no hace falta hacer esa actualización en este preciso momento, pero si no lo hacemos, debemos añadir otro botón para que los datos se asignen a la base de datos, ya que al añadir un nuevo valor a la tabla, lo haremos en la "copia" que tenemos localmente en memoria, y no directamente en la base dedatos, como ocurría, por ejemplo, con VB6 y los Recordsets. Una vez actualizados los datos en la base de datos, le indicamos a la tabla que acepte los cambios que hayamos hecho, de forma que quede sincronizada nuevamente. Esto es necesario, ya que si no lo hacemos, la tabla mantendrá los cambios que hayamos hecho y si nuevamente "sincronizamos" esos datos con la base real, se podrían producir...
tracking img