هذه الفنكشنز يمكن وضعها في موديول لكي يمكن اعادة استخدامها لاجراء العمليات على قاعدة البيانات و هي تشبه عملية NTIer
بداية نعمل شاشة كما في الصورة التالية
http://4.bp.blogspot.com/_FPzVxdBuDPU/TGPYLT3NIsI/AAAAAAAAAB8/7XMsOtuYmfU/s320/SQLHelper-Form.JPG
لنشاهد الكود الذي خلف زر الحفظ
Public Class Form1
Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
If QueryModule.ExecuteNoneQuery("insert into products(productId,ProductName)values('" & txtProductId.Text & "','" & txtProductName.Text & "')") = False Then
MsgBox("Failed to save ", MsgBoxStyle.Critical, "Alert")
Else
Me.txtProductId.Clear()
Me.txtProductName.Clear()
End If
End Sub
End Class
End Class
الان هذه هي جميع الدوال او الفنكشن يمكنك أن تقوم بانشاء موديول و تضعها جميها به
Dim conn As New SqlConnection
‘’’’’ to select one value
Public Function Execute_Scalar(ByVal Query As String) As Object
Try
conn = New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = constr
If conn.State = ConnectionState.Open Then
conn.Close()
End If
conn.Open()
comm.Connection = conn
comm.CommandText = Query
Return comm.ExecuteScalar
Catch ex As Exception
SaveException(ex.Message, ex.ToString)
End Try
End Function
‘’’’’’ for insert ,update, delete
Public Function ExecuteNoneQuery(ByVal Query As String) As Boolean
Try
conn = New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = constr
If conn.State = ConnectionState.Open Then
conn.Close()
End If
conn.Open()
comm.Connection = conn
comm.CommandText = Query
Dim rslt As Boolean
rslt = comm.ExecuteNonQuery
Return rslt
Catch ex As Exception
SaveException(ex.Message, ex.ToString)
End Try
End Function
Public Function GetDataView(ByVal Query As String) As DataView
Try
conn = New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = constr
If conn.State = ConnectionState.Open Then
conn.Close()
End If
conn.Open()
comm.Connection = conn
comm.CommandText = Query
Dim da As New SqlDataAdapter(comm)
Dim ds As New DataSet
da.Fill(ds)
Dim dv As New DataView(ds.Tables(0))
conn.Close()
Return dv
Catch ex As Exception
SaveException(ex.Message, ex.ToString)
End Try
End Function
‘’’ to check if some value is exists
Public Function IsExists(ByVal Query As String) As Boolean
Try
conn = New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = Constr
If conn.State = ConnectionState.Open Then
conn.Close()
End If
conn.Open()
comm.Connection = conn
comm.CommandText = Query
Dim da As New SqlDataAdapter(comm)
Dim ds As New DataSet
da.Fill(ds)
conn.Close()
If ds.Tables(0).Rows.Count = 0 Then
Return False
ElseIf ds.Tables(0).Rows.Count > 0 Then
Return True
End If
Catch ex As Exception
End Try
End Function
Public Function GetDataRow(ByVal Query As String) As DataRow
Try
Dim comm As New SqlCommand
If conn.State = ConnectionState.Open Then
conn.Close()
End If
conn.Open()
comm.Connection = conn
comm.CommandText = Query
Dim da As New SqlDataAdapter(comm)
Dim ds As New DataSet
da.Fill(ds)
conn.Close()
Return ds.Tables(0).Rows(0)
Catch ex As Exception
SaveException(ex.Message, ex.ToString)
End Try
End Function
Public Function GetDataSet(ByVal Query As String) As DataSet
Try
conn = New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = Constr
If conn.State = ConnectionState.Open Then
conn.Close()
End If
conn.Open()
comm.Connection = conn
comm.CommandText = Query
Dim da As New SqlDataAdapter(comm)
Dim ds As New DataSet
da.Fill(ds)
conn.Close()
Return ds
Catch ex As Exception
MsgBox(ex.ToString)
SaveException(ex.Message, ex.ToString)
End Try
End Function
Public Function GetDataTable(ByVal Query As String) As DataTable
Try
conn = New SqlConnection
Dim comm As New SqlCommand
conn.ConnectionString = Constr
If conn.State = ConnectionState.Open Then
conn.Close()
End If
conn.Open()
comm.Connection = conn
comm.CommandText = Query
Dim da As New SqlDataAdapter(comm)
Dim ds As New DataSet
da.Fill(ds)
conn.Close()
Return ds.Tables(0)
Catch ex As Exception
MsgBox(ex.ToString)
SaveException(ex.Message, ex.ToString)
End Try
End Function
لمشاهدة الشرح باللغة الانجليزية و كاملا يمكنك زيارة مدونتي على الرابط التالي
http://malik-shehadeh.blogspot.com/2010/08/creating-simple-power-full-sql-helper.html