Cosas básicas de bases de datos

Hola, soy nuevo en cuanto a manejo de bases de datos en vb.net ya que tengo más experiencia en fox.
¿Podrías por favor Explicarme(de la forma más sencilla) las siguientes cositas?
1)Como abrir y cerrar una conexión a base de datos en vb.net
2)Como manipular tablas(ingresar datos, consultar y eliminar) en vb.net(preferiblemente utilizando lenguaje sql)
3)¿Dónde está el sql server que no lo encuentro?
Perdona por la molestia y gracias anticipadas por las respuestas
Saludos

1 Respuesta

Respuesta
1
1) Para abrir y cerrar una conexión a una base de datos, de sql server, lo más recomendable es lo siguiente:
imports system.data.sqlclient
dim conexion as new sqlconnection
conexion.connectionString="Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword"
conexion.open
'-Aki iria todo lo que quieras hacer contra la base de datos
conexion.close
Mucho mejor si manejas un metodo global como este:
Public Sub HandleConexion(op as string)
  if op="open" then
      try
         if conexion.state=connectionState.closed then conexion.open
      catch
         msgBox("No se ha podido conectar con el servidor")
      end try
  elseif op="close" then
      try
         if conexion.state=connectionState.Open then conextion.Close
      catch
         msgBox("No se ha podido cerrar la conexion con el servidor")
      end try
  end If
End Sub
2) Ahora, para manipular los datos haríamos algo como esto:
Habiendo ya declarado a la variable CONEXIÓN como una variable global (puedes ponerlo en un modulo) y también el método handleConexion, por ejemplo, en un button hacemos lo siguiente:
Private Sub Button1_Click(..........) 'Esto se genera automaticamente si estas en vb.net
    HandleConexion("open")
    dim cmd as new sqlConnection
    cmd.CommandText="algun_Procedimiento_almacenado"
    cmd.CommandType=SqlCommandType.StoredProcedure
    cmd.Conexion=conexion 'Nuestra Variable global de conexion
[Digamos que nuestro procedimiento recibe solamente 2 parametros, @nombre y @edad ambos varchar (20)]
    cmd.parameters.add("@Nombre",SqlParameterType.Varchar,20).value="Mi nombre"
    cmd.parameters.add("@Edad",SqlParameterType.Varchar,20).value="Mi edad"
[Ojo que MI EDAD y MI NOMBRE los puedes reemplazar por algo como Me.TextBox1.Text o algo asi]
    Cmd. ExecuteNonQuery
    HandleConexion("Close")
End Sub
Esto sirve para inserciones y modificaciones, ¿por qué en realidad el que hace los cambios es el procedimieno almacenado cierto?
Ahora, para leer datos, solo haces esta pequeña modificación:
Private Function CargarDatos() As DataTable
   HandleConexion("open")
   dim cmd as new SqlCommand
   dim leer as SqlDataReader
   dim DT as new DataTable
   cmd.CommandText="algun_Procedimiento_almacenado"
   cmd.CommandType=SqlCommandType.StoredProcedure
   cmd.Conexion=conexion 'Nuestra Variable global de conexion
   cmd.parameters.add("@Nombre",SqlParameterType.Varchar,20).value="Mi nombre"
   cmd.parameters.add("@Edad",SqlParameterType.Varchar,20).value="Mi edad"
   leer=cmd.ExecuteReader
   If leer.Hasrrows=true then
      DT.Load(Leer)
   End If
   HandleConexion("Close")
   Return DT
End Sub
Este método lo puedes jalar desde el click de un botón o desde algún otro lado, y obtendrás un datatable listo para ser recorrido con 2 for, uno por filas y otro por columnas, ¿cómo lo recorres un datatable? Fácil, haber si calificas esta pregunta y haces otra con respecto a datatables, y controles listview que son las mejores alternativas (yo la verdad no le voy mucho a los datagrid.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas