Imports System.Data.SqlClient
Public Class PC
Property ID As String
Property Name As String
Property code As String
Property floor As String
Property office As String
Property serial As String
Property laptob As String
Property pc As String
Property description As String
Property comment As String
Property usbm As String
Property datee As Date
Property SNram1 As String
Property SNram2 As String
Property SNram3 As String
Property SNram4 As String
Property image As String
Function Add() As Integer
Dim temp As Integer
If Convert.ToBoolean(GetValueFromRegistry("WindowsOrSqlServer")) = True Then
Cnn = New SqlConnection(CnnString)
ElseIf Convert.ToBoolean(GetValueFromRegistry("WindowsOrSqlServer")) = False Then
Cnn = New SqlConnection(CnnString1)
End If
Cmd = New SqlCommand
Cmd.CommandText = "AddPC"
Cmd.CommandType = CommandType.StoredProcedure
Cmd.Connection = Cnn
Cmd.Parameters.AddWithValue("@ID", ID)
Cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = Name
Cmd.Parameters.Add("@code", SqlDbType.NVarChar).Value = code
Cmd.Parameters.Add("@floor", SqlDbType.NVarChar).Value = floor
Cmd.Parameters.Add("@office", SqlDbType.NVarChar).Value = office
Cmd.Parameters.Add("@serial", SqlDbType.NVarChar).Value = serial
Cmd.Parameters.Add("@laptob", SqlDbType.NVarChar).Value = laptob
Cmd.Parameters.Add("@pc", SqlDbType.NVarChar).Value = pc
Cmd.Parameters.Add("@description", SqlDbType.NVarChar).Value = description
Cmd.Parameters.Add("@comment", SqlDbType.NVarChar).Value = comment
Cmd.Parameters.Add("@usbm", SqlDbType.NVarChar).Value = usbm
Cmd.Parameters.Add("@datee", SqlDbType.Date).Value = datee
Cmd.Parameters.Add("@txtram1", SqlDbType.NVarChar).Value = SNram1
Cmd.Parameters.Add("@txtram2", SqlDbType.NVarChar).Value = SNram2
Cmd.Parameters.Add("@txtram3", SqlDbType.NVarChar).Value = SNram3
Cmd.Parameters.Add("@txtram4", SqlDbType.NVarChar).Value = SNram4
Cmd.Parameters.Add("@image", SqlDbType.Image).Value = image
Try
Cnn.Open()
If Cmd.ExecuteNonQuery() <> 0 Then
temp = True
End If
Catch ex As SqlException
MsgBox(ex.Message)
Finally
If Cmd IsNot Nothing Then
Cmd.Dispose()
Cmd = Nothing
End If
If Cnn IsNot Nothing Then
Cnn.Close()
Cnn.Dispose()
Cnn = Nothing
End If
End Try
Return temp
End Function
Function Edit(id As Integer) As Boolean
Dim temp As Boolean
If Convert.ToBoolean(GetValueFromRegistry("WindowsOrSqlServer")) = True Then
Cnn = New SqlConnection(CnnString)
ElseIf Convert.ToBoolean(GetValueFromRegistry("WindowsOrSqlServer")) = False Then
Cnn = New SqlConnection(CnnString1)
End If
Cmd = New SqlCommand
Cmd.CommandText = "Editpc"
Cmd.CommandType = CommandType.StoredProcedure
Cmd.Connection = Cnn
Cmd.Parameters.AddWithValue("@ID", id)
Cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = Name
Cmd.Parameters.Add("@code", SqlDbType.NVarChar).Value = code
Cmd.Parameters.Add("@floor", SqlDbType.NVarChar).Value = floor
Cmd.Parameters.Add("@office", SqlDbType.NVarChar).Value = office
Cmd.Parameters.Add("@serial", SqlDbType.NVarChar).Value = serial
Cmd.Parameters.Add("@laptob", SqlDbType.NVarChar).Value = laptob
Cmd.Parameters.Add("@pc", SqlDbType.NVarChar).Value = pc
Cmd.Parameters.Add("@description", SqlDbType.NVarChar).Value = description
Cmd.Parameters.Add("@comment", SqlDbType.NVarChar).Value = comment
Cmd.Parameters.Add("@usbm", SqlDbType.NVarChar).Value = usbm
Cmd.Parameters.Add("@datee", SqlDbType.Date).Value = datee
Cmd.Parameters.Add("@txtram1", SqlDbType.NVarChar).Value = SNram1
Cmd.Parameters.Add("@txtram2", SqlDbType.NVarChar).Value = SNram2
Cmd.Parameters.Add("@txtram3", SqlDbType.NVarChar).Value = SNram3
Cmd.Parameters.Add("@txtram4", SqlDbType.NVarChar).Value = SNram4
Cmd.Parameters.Add("@image", SqlDbType.NVarChar).Value = image
Try
Cnn.Open()
If Cmd.ExecuteNonQuery() <> 0 Then
temp = True
End If
Catch ex As SqlException
MsgBox(ex.Message)
Finally
If Cmd IsNot Nothing Then
Cmd.Dispose()
Cmd = Nothing
End If
If Cnn IsNot Nothing Then
Cnn.Close()
Cnn.Dispose()
Cnn = Nothing
End If
End Try
Return temp
End Function
Shared Function Delete(id As Integer) As Boolean
Dim temp As Boolean
If Convert.ToBoolean(GetValueFromRegistry("WindowsOrSqlServer")) = True Then
Cnn = New SqlConnection(CnnString)
ElseIf Convert.ToBoolean(GetValueFromRegistry("WindowsOrSqlServer")) = False Then
Cnn = New SqlConnection(CnnString1)
End If
Cmd = New SqlCommand
Cmd.CommandText = "Deletepc"
Cmd.CommandType = CommandType.StoredProcedure
Cmd.Connection = Cnn
Cmd.Parameters.AddWithValue("@ID", id)
Try
Cnn.Open()
If Cmd.ExecuteNonQuery() <> 0 Then
temp = True
End If
Catch ex As SqlException
MsgBox(ex.Message)
Finally
If Cmd IsNot Nothing Then
Cmd.Dispose()
Cmd = Nothing
End If
If Cnn IsNot Nothing Then
Cnn.Close()
Cnn.Dispose()
Cnn = Nothing
End If
End Try
Return temp
End Function
End Class
كود الفورم
Imports System.Data.SqlClient
Public Class Form9
Public ID As Integer
Private Function Add() As Boolean
Dim temp As Boolean
Dim pc As New PC
With pc
.ID = GetCount("PC")
.Name = txtname.Text.Trim
.code = txtcode.Text.Trim
.floor = txtfloor.Text.Trim
.office = txtoffice.Text.Trim
.serial = txtSerial.Text.Trim
.laptob = txtLaptob.Text.Trim
.pc = txtpc.Text.Trim
.description = txtDescription.Text.Trim
.comment = txtComment.Text.Trim
.usbm = txtUsbModam.Text.Trim
.datee = txtDatee.Value
.SNram1 = txtram1.Text.Trim
.SNram2 = txtram2.Text.Trim
.SNram3 = txtram3.Text.Trim
.SNram4 = txtram4.Text.Trim
.image = pbox
End With
temp = pc.Add()
pc = Nothing
Return temp
End Function
Private Function Edit() As Boolean
Dim temp As Boolean
Dim pc As New PC
With pc
.ID = ID
.Name = txtname.Text.Trim
.code = txtcode.Text.Trim
.floor = txtfloor.Text.Trim
.office = txtoffice.Text.Trim
.serial = txtSerial.Text.Trim
.laptob = txtLaptob.Text.Trim
.pc = txtpc.Text.Trim
.description = txtDescription.Text.Trim
.comment = txtComment.Text.Trim
.usbm = txtUsbModam.Text.Trim
.datee = txtDatee.Value
.SNram1 = txtram1.Text.Trim
.SNram2 = txtram2.Text.Trim
.SNram3 = txtram3.Text.Trim
.SNram4 = txtram4.Text.Trim
End With
temp = pc.Edit(ID)
pc = Nothing
Return temp
End Function
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles Edit_Button.Click
If (String.IsNullOrWhiteSpace(txtname.Text) AndAlso String.IsNullOrWhiteSpace(txtcode.Text) AndAlso String.IsNullOrWhiteSpace(txtcode.Text) AndAlso String.IsNullOrWhiteSpace(txtfloor.Text) AndAlso String.IsNullOrWhiteSpace(txtoffice.Text) AndAlso String.IsNullOrWhiteSpace(txtSerial.Text) AndAlso String.IsNullOrWhiteSpace(txtLaptob.Text) AndAlso String.IsNullOrWhiteSpace(txtComment.Text) AndAlso String.IsNullOrWhiteSpace(txtpc.Text) AndAlso String.IsNullOrWhiteSpace(txtDescription.Text)) Then
MessageBox.Show("يجب ملئ الخانات قبل الاضافه")
Return
End If
If ID = 0 Then
SaveLog("إضافة سجل", Me.Text, "تمت عملية إضافة سجل جديد بإسم : " & txtname.Text)
If Add() Then
LoadData()
ClearForm()
End If
Else
SaveLog("تعديل سجل", Me.Text, "تمت عملية تعديل سجل بإسم : " & txtname.Text)
If Edit() Then
LoadData()
ClearForm()
End If
End If
End Sub
Function LoadData() As DataTable
Dim temp As New DataTable
If Convert.ToBoolean(GetValueFromRegistry("WindowsOrSqlServer")) = True Then
Cnn = New SqlConnection(CnnString)
ElseIf Convert.ToBoolean(GetValueFromRegistry("WindowsOrSqlServer")) = False Then
Cnn = New SqlConnection(CnnString1)
End If
Cmd = New SqlCommand
Cmd.CommandText = "Select * From PC"
Cmd.CommandType = CommandType.Text
Cmd.Connection = Cnn
Try
Cnn.Open()
temp.Load(Cmd.ExecuteReader())
DataGridView1.AutoGenerateColumns = False
'DataGridView1.DataSource = temp
FillDesignDGV(DataGridView1, "Select * From PC")
Catch ex As SqlException
MsgBox(ex.Message)
Finally
If Cmd IsNot Nothing Then
Cmd.Dispose()
Cmd = Nothing
End If
If Cnn IsNot Nothing Then
Cnn.Close()
Cnn.Dispose()
Cnn = Nothing
End If
End Try
Return temp
End Function
Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
SaveLog(MyBase.Text, Me.Text, "تمت عملية فتح النافذة التالية : " & MyBase.Text)
LoadData()
End Sub
Function LoadOneDetail(id As Integer) As DataTable
Dim temp As New DataTable
If Convert.ToBoolean(GetValueFromRegistry("WindowsOrSqlServer")) = True Then
Cnn = New SqlConnection(CnnString)
ElseIf Convert.ToBoolean(GetValueFromRegistry("WindowsOrSqlServer")) = False Then
Cnn = New SqlConnection(CnnString1)
End If
Cmd = New SqlCommand
Cmd.CommandText = "Select * From PC where id = @id "
Cmd.CommandType = CommandType.Text
Cmd.Parameters.Add("@Id", SqlDbType.Int).Value = id
Cmd.Connection = Cnn
Try
Cnn.Open()
temp.Load(Cmd.ExecuteReader())
If temp.Rows.Count <> 0 Then
Me.ID = temp.Rows(0).Item("ID")
txtname.Text = temp.Rows(0).Item("Name").ToString
txtcode.Text = temp.Rows(0).Item("code").ToString
txtfloor.Text = temp.Rows(0).Item("floor").ToString
txtoffice.Text = temp.Rows(0).Item("office").ToString
txtSerial.Text = temp.Rows(0).Item("serial").ToString
txtLaptob.Text = temp.Rows(0).Item("laptob").ToString
txtpc.Text = temp.Rows(0).Item("pc").ToString
txtDescription.Text = temp.Rows(0).Item("description").ToString
txtComment.Text = temp.Rows(0).Item("comment").ToString
txtUsbModam.Text = temp.Rows(0).Item("usbm").ToString
txtDatee.Value = temp.Rows(0).Item("datee")
txtram1.Text = temp.Rows(0).Item("txtram1").ToString
txtram2.Text = temp.Rows(0).Item("txtram2").ToString
txtram3.Text = temp.Rows(0).Item("txtram3").ToString
txtram4.Text = temp.Rows(0).Item("txtram4").ToString
End If
Catch ex As SqlException
MsgBox(ex.Message)
Finally
If Cmd IsNot Nothing Then
Cmd.Dispose()
Cmd = Nothing
End If
If Cnn IsNot Nothing Then
Cnn.Close()
Cnn.Dispose()
Cnn = Nothing
End If
End Try
Return temp
End Function
Private Sub DataGridView1_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles DataGridView1.MouseDoubleClick
LoadOneDetail(DataGridView1.CurrentRow.Cells(clID.Name).Value)
End Sub
Private Sub ClearForm()
ID = 0
For Each ctl In Me.Controls
If TypeOf (ctl) Is TextBox Then
CType(ctl, TextBox).Clear()
ElseIf TypeOf (ctl) Is DateTimePicker Then
CType(ctl, DateTimePicker).Value = Today.Date
End If
Next
End Sub
Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles Delete_Button.Click
If ID = 0 Then
MsgBox("Set the detail you want to delete.")
Else
If MsgBox("Are you sure you want to delete?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
SaveLog("حذف سجل", Me.Text, "تمت عملية حذف سجل بإسم : " & txtname.Text)
If PC.Delete(ID) Then
LoadData()
ClearForm()
End If
End If
End If
End Sub
Private Sub btnNew_Click(sender As Object, e As EventArgs) Handles Add_Button.Click
ClearForm()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Import_Button.Click
ofd.Filter = "Choose Image(*.JPG;*.PNG;*.GIF)|*.jpg;*.png;*.gif"
If ofd.ShowDialog = DialogResult.OK Then
pbox.Image = Image.FromFile(ofd.FileName)
SaveLog(Import_Button.Text, Me.Text, "تمت عملية استيراد صورة سجل بإسم : " & ofd.FileName)
End If
End Sub
End Class