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