Dim conexion As String = My.Settings.cadenaconexionescala
Dim MiConexion As New SqlConnection(conexion) 'Dim Dreader As SqlDataReader Dim oDa As SqlClient.SqlDataAdapter 'Dim oDs As System.Data.DataSet
'Dim Dtable As New DataTable
'Dim comando As SqlCommand 'comando = New SqlCommand("select * from empresas", MiConexion) 'MiConexion.Open() 'Dreader = comando.ExecuteReader() 'Dreader.Read() 'Dtable.Load(Dreader, LoadOption.OverwriteChanges) 'Grid1.AutoGenerateColumns = False 'grid1.DataSource = Dtable 'comando = Nothing 'MiConexion.Close()
' pero ni mucho menos es la única correcta...
Dim oCommand As SqlClient.SqlCommand = New SqlClient.SqlCommand("up_proc_InsertarEmpresa", MiConexion) ' Para pasarle los parámetros al objeto command usaremos esta variable.. Dim oParameter As SqlClient.SqlParameter ' Nuestor sp tiene dos parámetros que pasaremos mediante las siguientes ' instrucciones 'oParameter = oCommand.Parameters.Add("@Id", SqlDbType.Int)
oParameter.Value = txt_nombre.Text oParameter = oCommand.Parameters.Add("@Ruc", SqlDbType.VarChar) oParameter.Value = txt_ruc.Text oParameter = oCommand.Parameters.Add("@Direccion", SqlDbType.VarChar) oParameter.Value = txt_direccion.Text oParameter = oCommand.Parameters.Add("@Telefono", SqlDbType.VarChar) oParameter.Value = txt_telefono.Text oParameter = oCommand.Parameters.Add("@Usuario", SqlDbType.VarChar) oParameter.Value = txt_usuario.Text oParameter = oCommand.Parameters.Add("@Clave", SqlDbType.VarChar) oParameter.Value = txt_clave.Text ' Decimos el tipo de commando oCommand.CommandType = CommandType.StoredProcedure ' Abrimos nuestra conexion. MiConexion.Open() ' El constructor de DataAdapter, admite un objeto command. ' el resultado de usarlo es un Data adapter relleno con el resultado ' de ejecutar el procedimiento almacenado... 'oDa = New SqlClient.SqlDataAdapter(oCommand) ' Creamos una instancia de nuestro dataset 'oDs = New System.Data.DataSet() ' y por último lo rellenamos. oCommand.ExecuteNonQuery() 'oDa.Fill(oDs) ' Hasta aquí las instruciones para llamar a nuestro sp ' no sería necesario si no necesitasemos recuperar el conjunto ' de datos que devuelve el Sp. ' Eso sí una vez que los ha devuelto ,lo mejor será usarlos... 'Grid1.AutoGenerateColumns = False 'Grid1.DataSource = oDs.Tables(0) 'Grid1.Refresh() 'Y destruimos aunque no sea necesario gracias al garbaje collector 'oDs.Dispose() 'oDa.Dispose() oCommand.Dispose() MiConexion.Close() MiConexion.Dispose()