Bhasin Capitulo 08 COM

  • Upload
    jumns

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

  • 8/14/2019 Bhasin Capitulo 08 COM

    1/16

    Captulo 8

    COM

  • 8/14/2019 Bhasin Capitulo 08 COM

    2/16

    Objetivo

    Crear una biblioteca de clases que

    permita acceder a una base de datos.

  • 8/14/2019 Bhasin Capitulo 08 COM

    3/16

    Imports

    Imports System

    Imports System.Data

    Imports System.Data.SqlClient Imports System.Text

  • 8/14/2019 Bhasin Capitulo 08 COM

    4/16

    Declaracin de variables

    Namespace SQLNameSpace

    Public Class SQLClass

    Private ls_sql as string Private ls_ConnStr as string

  • 8/14/2019 Bhasin Capitulo 08 COM

    5/16

    Constructor

    Public Sub New()

    MyBase.New()

    ls_sql = ""ls_ConnStr = ""

    End Sub

  • 8/14/2019 Bhasin Capitulo 08 COM

    6/16

    Propiedades

    Public Property SQL as string

    Get

    Return ls_sql

    End Get

    Set

    ls_sql = valueEnd Set

    End Property

    Public Property ConnStr as string

    Get

    Return ls_ConnStr

    End GetSet

    ls_ConnStr = value

    End Set

    End Property

  • 8/14/2019 Bhasin Capitulo 08 COM

    7/16

    Mtodo Populate

    Public Function Populate() As DataView

    Dim myConnection As SqlConnection

    Dim myCommand As SqlDataAdapter

    Dim ds As New DataSetmyConnection = New SqlConnection(ConnStr)

    myCommand = New SqlDataAdapter(SQL,myConnection)

    myCommand.Fill(ds, "vTable") Populate = ds.Tables("vTable").DefaultView

    End Function

  • 8/14/2019 Bhasin Capitulo 08 COM

    8/16

    Mtodo RunSql.

    Function RunSql(vsql as string) as StringDim Message As String = ""

    Dim errString As String = ""

    try

    Dim myConnection As SqlConnectionmyConnection = New SqlConnection(ConnStr)

    Dim mycommand As New SqlCommand(vsql,myConnection)

    myconnection.Open()myCommand.ExecuteNonQuery()

    myconnection.Close()

  • 8/14/2019 Bhasin Capitulo 08 COM

    9/16

    Catch ex As SqlException

    Dim errItem As SqlError

    For Each errItem In ex.Errors

    errString += ex.Message + " "

    Next

    Message = "SQL Error.Details follow:

    " & errStringCatch myException as Exception

    message = "Exception: " + myException.ToString()

    End try

    RunSql = message

    End FunctionEnd Class

    End Namespace

    Mtodo RunSql

  • 8/14/2019 Bhasin Capitulo 08 COM

    10/16

  • 8/14/2019 Bhasin Capitulo 08 COM

    11/16

    Imports

    Imports BC_Bhasin_Capitulo_08.SQLNameSpace

    Partial Class TestVbClass

    Inherits System.Web.UI.Page

    Dim Comp As SQLClass

    Dim ConnStr As String

    Dim SQL As String

  • 8/14/2019 Bhasin Capitulo 08 COM

    12/16

    Load

    Sub Page_Load(ByVal Source As Object, ByVal E

    As EventArgs)

    Comp = New SQLClass()

    Comp.ConnStr= "Data Source=(local);InitialCatalog=ASPNET;Integrated Security=True;"

    If Not (IsPostBack) Then

    ReBind()End If

    End Sub

  • 8/14/2019 Bhasin Capitulo 08 COM

    13/16

    Insert

    Sub Insert_click(ByVal Sender As Object, ByVal E

    As EventArgs)

    SQL = "Insert into

    Masters(code_display,code_category,type)"SQL = SQL + "Values ('test',701,'E')"

    Comp.RunSql(SQL)

    ReBind()Message.Text = "Inserted test record... "

    End Sub

  • 8/14/2019 Bhasin Capitulo 08 COM

    14/16

    Delete

    Sub Delete_click(ByVal Sender As Object, ByVal E

    As EventArgs)

    SQL = delete from masters where

    code_display = test Comp.RunSql(SQL)

    ReBind()

    Message.Text = Deleted all test records...End Sub

  • 8/14/2019 Bhasin Capitulo 08 COM

    15/16

    Update

    Sub Update_Click(ByVal Sender As Object, ByVal

    E As EventArgs)

    SQL = "UPDATE Masters Set Opening = 90

    WHERE code_display = 'test'"

    Comp.RunSQL(SQL)

    ReBind()

    Message.Text = "Updated all test records:Set closing balance = 90...! "

    End Sub

  • 8/14/2019 Bhasin Capitulo 08 COM

    16/16

    rebind

    Sub ReBind()

    Comp.SQL = "select * from Masters"

    DataGrid1.DataSource =Comp.populate()

    DataGrid1.DataBind()

    End Sub