На главную

.:: Меню ::.
Новости
Программы
Статьи
Полезные ссылки

Создание класса для обращения к базе (vb.net)

Разделы Статьи / .NET / VB.NET / Базы данных (DataBase) /

Назад

Очень часто, создавая то или иное приложение, мы используем базы данных. Когда я кодила программу Woman's calendar возникала постоянная необходимость обращаться к базе данных с тем или иным запросом. Поэтому мною был написан следующий класс для работы с базой данных:



Imports System.Data.OleDb
Public Class SQLConnection

'строка подключения к базе данных (например для mdb-базы) 
Private SQLStringConnection As String = "PROVIDER = Microsoft.Jet.OLEDB.4.0; _
DATA SOURCE = " & System.AppDomain.CurrentDomain.BaseDirectory & "database.mdb;"
'если нужно к базе Access 2007-10, то в провайдере нужно написать Microsoft.Ace.OLEDB.12.0 

Private oledbCon As OleDbConnection = New OleDbConnection
Private OleDbcmd As OleDbCommand = New OleDbCommand

Sub New()
OleDbcmd.Connection = oledbCon
End Sub

Public Sub Connection() 'открытие базы данных
oledbCon.ConnectionString = SQLStringConnection
oledbCon.Open()
End Sub

Public Sub CloseConnection()
oledbCon.Close() 'закрытие базы данных
End Sub

Public Sub CommandNonQuery(ByVal SQLString As String)
'выполнение команды без запроса (например insert, update, delete)
OleDbcmd.CommandType = CommandType.Text
OleDbcmd.CommandText = SQLString
OleDbcmd.ExecuteNonQuery()
End Sub

Public ReadOnly Property CommandReader(ByVal SQLString As String) As OleDbDataReader
Get
'получение данных в соответствии с запросом (например select)
OleDbcmd.CommandType = CommandType.Text
OleDbcmd.CommandText = SQLString
Return OleDbcmd.ExecuteReader(CommandBehavior.SingleResult)
End Get
End Property

Public ReadOnly Property CommandScalar(ByVal SQLString As String) As Integer
Get
'получение числовых данных в результате вычисляемого запроса (например select COUNT(id)...)
OleDbcmd.CommandType = CommandType.Text
OleDbcmd.CommandText = SQLString
Return OleDbcmd.ExecuteScalar
End Get
End Property
End Class


Как видно класс довольно простенький, но работу облегчает.


Примеры вызова класса:


'создание экземпляра Connection
Private oledbCon As SQLConnection = New SQLConnection


'перечисляемый запрос
Dim OleDbrider As OleDbDataReader
OleDbrider = oledbCon.CommandReader("select ID, Name FROM userprofile")
While OleDbrider.Read()
listUser.text = OleDbrider("ID") & OleDbrider("name")
End While
OleDbrider.Close()


'вычисляемый запрос
Dim SQLResult As Short = 0
SQLResult = oledbCon.CommandScalar("select count(ID) FROM userprofile where (Name = 'Элла')")
If SQLResult = 0 Then listUser.text = "Нет пользователей"


'исполняемый запрос
oledbCon.CommandNonQuery("insert INTO userprofile (rName) VALUES ('Сергей')")




Новости сайта

Друзья сайта
Русский сайт системы KooBoo CMS

PROИТ - Office 365, AD, Active Directory, Sharepoint, C#, Powershell

Хостинг предоставлен VEDU.RU - Поволжским
Образовательным
Порталом





 © Центр ИТ, СИОТО, 2002-2009. Разработчики: webmaster(a)vedu.ru