19-09-18, 02:30 PM
(آخر تعديل لهذه المشاركة : 19-09-18, 02:41 PM {2} بواسطة essawq.
تعديل السبب: تعديل العنوان
)
السلام عليكم ورحمة الله وبركاتة
انتهيت من مشروعي والحمد لله لا توجد اخطاء
مشروعي خاص ليا والغرض منة تعلم البرمجة وانا اقو م باستخدامة الان ولا اواجة اي اخطاء
احببت ان اعرض شاشتين من البرنامج
والاكواد المستخدمة واريد ارائكم وانتقاداتكم ونصائحكم حول الطريقة التي كتبت بها الاكواد
# مثلا الكود التالي لو كتبتة بالطريقة هذة افضل #
اعمل على VB.NET 2015
وقاعدة بيانات SQL 2008 R2
كنت اعمل على VB.NET 2010
وبمساعدة الاخوان في هذا الموضوع قلبت على VB.NET 2015
وخلال كتابتي للبرنامج اي خطا كان يواجهني كنت اطرح موضوع هنا
اولا انا استخدم كلاس واستدعية بالشاشات وهذا الكود داخل الكلاس
كود :
Imports System.Data
Imports System.Data.SqlClient
Imports System.Globalization
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common
Imports System.IO
Public Class DBCoonnect
Public conn As New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=Company_2018;Integrated Security=True")
Public dt As New DataTable
Public da As New SqlDataAdapter
Public dv As New DataView
Public ds As New DataSet
Public cur As CurrencyManager
Public cmd As New SqlCommand
Public bbay As String
Public COMB As String
Public saveok As Boolean
Public pos As Integer
Public ID As Integer
Public op As New OpenFileDialog
Public opf As New FolderBrowserDialog
Public sql As String
Public Sub createDatabase()
'كود انشاء قاعدة البيانات
If check() = False Then
Try
Dim sqlConnectionString As String = "Data Source=.\SQLExpress;Integrated Security=True"
Dim script As String = File.ReadAllText(Application.StartupPath & "\CompanyWork2.sql")
Dim conn As SqlConnection = New SqlConnection(sqlConnectionString)
Dim server As Server = New Server(New ServerConnection(conn))
server.ConnectionContext.ExecuteNonQuery(script)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
End Sub
Private Function check() As Boolean
'كود للتشييك على قاعدة البيانات ان كانت موجودة او لا
Dim exist As Boolean = False
Try
Dim conn As SqlConnection = New SqlConnection("Data Source=.\SQLExpress;Integrated Security=True")
Dim cmd As SqlCommand = New SqlCommand("", conn)
Dim rdr As SqlDataReader
cmd.CommandText = "exec sys.sp_databases"
conn.Open()
rdr = cmd.ExecuteReader()
While rdr.Read()
If rdr.GetString(0) = "Company_2018" Then
exist = True
Exit While
End If
End While
conn.Close()
rdr.Dispose()
cmd.Dispose()
conn.Dispose()
Catch ex As Exception
MessageBox.Show(ex.Message.ToString())
Return False
End Try
Return exist
End Function
Public Sub load_data()
If conn.State = ConnectionState.Open Then
conn.Close()
End If
'تحميل البيانات بالداتا جريد فيو
dt = New DataTable
da = New SqlDataAdapter("select *from woork1", conn)
da.Fill(dt)
dv = New DataView(dt)
End Sub
Public Sub load_dataMonthe()
If conn.State = ConnectionState.Open Then
conn.Close()
End If
'تحميل البيانات بالداتا جريد فيو
dt = New DataTable
da = New SqlDataAdapter("select *from Month_Information", conn)
da.Fill(dt)
dv = New DataView(dt)
End Sub
Public Sub formatgrd(ByVal columnName() As String, ByVal grd As DataGridView)
'تسمية الهيدر تكست للداتا جريد فيو
grd.DataSource = dv
For i As Integer = 0 To columnName.Count - 1
grd.Columns(i).HeaderText = columnName(i)
grd.Columns(0).Visible = False
Next
End Sub
Public Function SQlExicute(ByVal sqlstatment As String) As Boolean
Try
'دالة حفظ وتعديل وحذف
If conn.State = ConnectionState.Open Then
conn.Close()
End If
Dim cmd As New SqlCommand
cmd.CommandText = sqlstatment
conn.Open()
cmd.Connection = conn
cmd.ExecuteNonQuery()
Return True
Catch ex As Exception
Return False
MsgBox(ex.Message)
Finally
conn.Close()
End Try
End Function
Public Sub ClereAllText(ByVal frm As Form)
'دالة تفريغ التكست بوكس
For Each ctrl As Control In frm.Controls
If TypeOf ctrl Is TextBox Then
ctrl.Text = ""
End If
Next
End Sub
Public Sub fillcombobox(ByVal cbo As ComboBox, ByVal tablename As String, ByVal col_name As String, ByVal col_value As String, ByVal whr As String)
'تعبئة الكومبو بكس
Try
Dim VarSQL As String
VarSQL = ""
VarSQL = "Select " + col_name + " , " + col_value + " From " + tablename + " " + whr
Dim sda As New SqlDataAdapter(VarSQL, conn)
Dim ds As New DataSet()
sda.Fill(ds)
cbo.DataSource = ds.Tables(0)
cbo.DisplayMember = col_name
cbo.ValueMember = col_value
Catch
End Try
End Sub
Public Sub summ(dgv As DataGridView, txt As TextBox)
'دالة جمع عمود في الداتا جريد فيو
'dgv.DataSource = dt
Dim summ As Double = 0
For i As Integer = 0 To dgv.RowCount - 1
summ += dgv.Rows(i).Cells(5).Value
Next
txt.Text = Format(summ, "00.00")
'txt.Text = Format(summ, "N1")
'txt.Text = summ.ToString("N2")
End Sub
Public Sub dateformae(ByVal dat As DateTimePicker)
'دالة اخذ تاريخ اليوم للداتا تايم بيكر
dat.Text = Date.Now.ToString("yyyy/MM/dd")
End Sub
Public Sub showposition(lbl As Label)
'تعبئة رقم السجل بالتكست بوكس او اليبل
lbl.Text = " السجل رقم " & cur.Position + 1 & " من " & cur.Count
End Sub
Public Sub FormatDgv(dgv As DataGridView)
'دالة فورمات الداتا جريد فيو
dgv.Columns(1).Width = 175
dgv.Columns(2).Width = 90
dgv.Columns(3).Width = 90
dgv.Columns(3).DefaultCellStyle.Format = "yyyy/MM/dd"
dgv.Columns(4).Width = 100
dgv.Columns(5).Width = 120
dgv.Columns(5).DefaultCellStyle.Format = "0.0"
'dgv.Columns(5).DefaultCellStyle.Format = "N1"
dgv.Columns(6).Width = 220
dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
Dim DataGridView1ColumnHeaderStyle As New DataGridViewCellStyle()
DataGridView1ColumnHeaderStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.ColumnHeadersDefaultCellStyle = DataGridView1ColumnHeaderStyle
End Sub
Public Sub FormatDGVmonthe(dgv As DataGridView)
'دالة فورمات الداتا جريد فيو للطباعة
dgv.Columns(1).Width = 125
dgv.Columns(2).Width = 125
dgv.Columns(2).DefaultCellStyle.Format = "yyyy/MM/dd"
dgv.Columns(3).Width = 150
dgv.Columns(3).DefaultCellStyle.Format = "0.0"
dgv.Columns(4).Width = 100
dgv.Columns(4).DefaultCellStyle.Format = "0.0"
dgv.Columns(5).Width = 100
dgv.Columns(5).DefaultCellStyle.Format = "0.0"
dgv.Columns(6).Width = 195
dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
Dim DataGridView1ColumnHeaderStyle As New DataGridViewCellStyle()
DataGridView1ColumnHeaderStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
dgv.ColumnHeadersDefaultCellStyle = DataGridView1ColumnHeaderStyle
End Sub
End Class
وهذة شاشة الاضافة
وهذا الكود المستخدم
كود :
Imports System.Data.SqlClient
Public Class FrmAdd
Dim myconn As New DBCoonnect
Private Sub FrmAdd_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
myconn.dateformae(dat:=DateTimePicker1)
myconn.load_data()
DgvAdd.DataSource = myconn.dt
DgvAdd.DataSource = Nothing
Dim coluname() As String = {"الرقم", "اسم الشركة", "اليوم", " التاريخ ", "معلومات", "عدد ساعات الاضافي", "ملاحظات"}
myconn.formatgrd(coluname, DgvAdd)
BinDataAdd()
myconn.FormatDgv(dgv:=DgvAdd)
myconn.cur = CType(Me.BindingContext(myconn.dv), CurrencyManager)
myconn.showposition(lbl:=LbAdd)
myconn.summ(dgv:=DgvAdd, txt:=TexTotal)
BtnSave.Enabled = False
TexCompany.Enabled = False
ComboBoxDay.Enabled = False
DateTimePicker1.Enabled = False
ComInformisen.Enabled = False
TxtHouer.Enabled = False
TxtNotes.Enabled = False
End Sub
Private Sub DgvAdd_CellClick(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgvAdd.CellClick
Try
Dim pos As Integer = Me.DgvAdd.CurrentRow.Index
Me.Textrecid.Text = DgvAdd.Rows(pos).Cells(0).Value
Me.TexCompany.Text = DgvAdd.Rows(pos).Cells(1).Value
Me.ComboBoxDay.Text = DgvAdd.Rows(pos).Cells(2).Value
Me.DateTimePicker1.Text = DgvAdd.Rows(pos).Cells(3).Value
Me.ComInformisen.Text = DgvAdd.Rows(pos).Cells(4).Value
Me.TxtHouer.Text = DgvAdd.Rows(pos).Cells(5).Value
Me.TxtHouer.Text = Val(Me.TxtHouer.Text).ToString("0.0")
Me.TxtNotes.Text = DgvAdd.Rows(pos).Cells(6).Value
Catch ex As Exception
Exit Sub
End Try
myconn.showposition(lbl:=LbAdd)
End Sub
Private Sub BtnNew_Click(sender As System.Object, e As System.EventArgs) Handles BtnNew.Click
myconn.ClereAllText(Me)
TexCompany.Focus()
ComboBoxDay.SelectedIndex = 0
ComInformisen.SelectedIndex = 0
myconn.dateformae(dat:=DateTimePicker1)
BtnSave.Enabled = True
TexCompany.Enabled = True
ComboBoxDay.Enabled = True
DateTimePicker1.Enabled = True
ComInformisen.Enabled = True
TxtHouer.Enabled = True
TxtNotes.Enabled = True
End Sub
Private Sub BtnSave_Click(sender As System.Object, e As System.EventArgs) Handles BtnSave.Click
If TexCompany.Text.Trim = "" Then
MsgBox("يحب إدخال اسم الشركة", vbMsgBoxRtlReading + vbCritical, "خطا")
TexCompany.Focus()
Exit Sub
End If
If ComboBoxDay.SelectedIndex = False Then
MsgBox("يحب إدخال اليوم", vbMsgBoxRtlReading + vbCritical, "خطا")
ComboBoxDay.Focus()
Exit Sub
End If
'If DateTimePicker1.Value.Select = False Then
' MsgBox("يحب إدخال التاريخ", vbMsgBoxRtlReading + vbCritical, "خطا")
' Exit Sub
'End If
If ComInformisen.SelectedIndex = False Then
MsgBox("يحب إدخال معلومات الدوام", vbMsgBoxRtlReading + vbCritical, "خطا")
ComInformisen.Focus()
Exit Sub
End If
If TxtHouer.Text.Trim = "" Then
MsgBox("يحب إدخال عدد الساعات", vbMsgBoxRtlReading + vbCritical, "خطا")
TxtHouer.Focus()
Exit Sub
End If
''..................كود تاكد من البيانات
myconn.ds = New DataSet
myconn.da = New SqlDataAdapter("Select alyowm from woork1 where alyowm = '" & DateTimePicker1.Text & "'", myconn.conn)
myconn.da.Fill(myconn.ds, "woork1")
myconn.dv = New DataView(myconn.ds.Tables("woork1"))
myconn.cur = CType(Me.BindingContext(myconn.dv), CurrencyManager)
If myconn.cur.Count <> 0 Then
MsgBox("التاريخ موجود مسبقا", vbMsgBoxRtlReading + vbCritical, "خطا")
Exit Sub
End If
myconn.bbay = ComboBoxDay.SelectedItem.ToString()
myconn.COMB = ComInformisen.SelectedItem.ToString
myconn.pos = myconn.dt.Rows.Count
myconn.saveok = myconn.SQlExicute("insert into woork1 (Name_Company,day,alyowm,informisen,clook,notes) values " & "('" & TexCompany.Text & "','" & myconn.bbay & "','" & DateTimePicker1.Text & "','" & myconn.COMB & "'," & TxtHouer.Text & ",'" & TxtNotes.Text & "')")
If myconn.saveok = True Then
MsgBox("تمة عملية الحفظ بنجاح", MsgBoxStyle.Information, "حفظ")
End If
myconn.load_data()
DgvAdd.DataSource = myconn.dv
BindingContext(myconn.dv).Position = myconn.pos
myconn.cur = CType(Me.BindingContext(myconn.dv), CurrencyManager)
myconn.showposition(lbl:=LbAdd)
myconn.summ(dgv:=DgvAdd, txt:=TexTotal)
BtnSave.Enabled = False
TexCompany.Enabled = False
ComboBoxDay.Enabled = False
DateTimePicker1.Enabled = False
ComInformisen.Enabled = False
TxtHouer.Enabled = False
TxtNotes.Enabled = False
End Sub
Private Sub TxtInformisen_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs)
If Char.IsControl(e.KeyChar) = False Then
If Char.IsDigit(e.KeyChar) Then
e.Handled = True
End If
End If
End Sub
Private Sub TxtNotes_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNotes.KeyPress
If Char.IsControl(e.KeyChar) = False Then
If Char.IsDigit(e.KeyChar) Then
e.Handled = True
End If
End If
End Sub
Private Sub TxtHouer_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TxtHouer.KeyPress, TxtHouer.KeyPress
Select Case e.KeyChar
Case "0"c To "9"c, Chr(Keys.Back)
Case "."
'لن نفعل أي شيء.. هذا معناه قبول كتابة هذا الحرف
Case Else
Beep()
e.Handled = True
End Select
End Sub
Private Sub TexCompany_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TexCompany.KeyPress
If Char.IsControl(e.KeyChar) = False Then
If Char.IsDigit(e.KeyChar) Then
e.Handled = True
End If
End If
End Sub
Private Sub BinDataAdd()
Textrecid.DataBindings.Clear()
TexCompany.DataBindings.Clear()
ComboBoxDay.DataBindings.Clear()
DateTimePicker1.DataBindings.Clear()
ComInformisen.DataBindings.Clear()
TxtHouer.DataBindings.Clear()
TxtNotes.DataBindings.Clear()
Textrecid.DataBindings.Add("text", myconn.dv, "ID")
TexCompany.DataBindings.Add("text", myconn.dv, "Name_Company")
ComboBoxDay.DataBindings.Add("text", myconn.dv, "day")
DateTimePicker1.DataBindings.Add("text", myconn.dv, "alyowm")
ComInformisen.DataBindings.Add("text", myconn.dv, "informisen")
TxtHouer.DataBindings.Add("text", myconn.dv, "clook")
'TxtHouer.Text = Val(myconn.dv(0)("clook")).ToString("0.0")
TxtHouer.Text = Val(TxtHouer.Text).ToString("0.0")
TxtNotes.DataBindings.Add("text", myconn.dv, "notes")
End Sub
Private Sub BtnExit_Click(sender As System.Object, e As System.EventArgs) Handles BtnExit.Click
Me.Close()
End Sub
End Class
وهذة شاشة البحث والتعديل
وهذا الكود المستخدم
كود :
Imports System.Data
Imports System.Data.SqlClient
Public Class FrmEditMohthe
Dim myconn As New DBCoonnect
Private Sub FrmEditMohthe_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
myconn.load_dataMonthe()
'myconn.load_data("select *from Month_Information")
DgvEdit.DataSource = Nothing
Dim coluname() As String = {"الرقم", "الشركة", "التاريخ", " عدد ساعات الاضافي ", "ثمن الاضافي", "الراتب", "الملاحظات"}
myconn.formatgrd(coluname, DgvEdit)
myconn.cur = CType(Me.BindingContext(myconn.dv), CurrencyManager)
myconn.showposition(lbl:=LbEdit)
myconn.summ(dgv:=DgvEdit, txt:=TexTotal)
summAddMonMony()
summAddMonNumper()
myconn.FormatDGVmonthe(dgv:=DgvEdit)
BinDataDelet()
myconn.dateformae(dat:=DTP_pur1)
BtnEdit.Enabled = False
TextNameCom.Enabled = False
DateTimePP.Enabled = False
TextNumper.Enabled = False
TextPraes.Enabled = False
TextSalary.Enabled = False
TextNotes.Enabled = False
End Sub
Private Sub DgvEdit_CellClick(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DgvEdit.CellClick
Try
Dim pos As Integer = Me.DgvEdit.CurrentRow.Index
Me.Textrecid.Text = DgvEdit.Rows(pos).Cells(0).Value
Me.TextNameCom.Text = DgvEdit.Rows(pos).Cells(1).Value
Me.DateTimePP.Text = DgvEdit.Rows(pos).Cells(2).Value
Me.TextNumper.Text = DgvEdit.Rows(pos).Cells(3).Value
Me.TextNumper.Text = Val(Me.TextNumper.Text).ToString("0.0")
Me.TextPraes.Text = DgvEdit.Rows(pos).Cells(4).Value
Me.TextPraes.Text = Val(Me.TextPraes.Text).ToString("0.0")
Me.TextSalary.Text = DgvEdit.Rows(pos).Cells(5).Value
Me.TextSalary.Text = Val(Me.TextSalary.Text).ToString("0.0")
Me.TextNotes.Text = DgvEdit.Rows(pos).Cells(6).Value
Catch ex As Exception
Exit Sub
End Try
myconn.showposition(lbl:=LbEdit)
End Sub
Private Sub BtnMovePre_Click(sender As Object, e As System.EventArgs) Handles BtnMovePre.Click
myconn.cur.Position += 1
myconn.showposition(lbl:=LbEdit)
Try
Dim pos As Integer = Me.DgvEdit.CurrentRow.Index
Me.Textrecid.Text = DgvEdit.Rows(pos).Cells(0).Value
Me.TextNameCom.Text = DgvEdit.Rows(pos).Cells(1).Value
Me.DateTimePP.Text = DgvEdit.Rows(pos).Cells(2).Value
Me.TextNumper.Text = DgvEdit.Rows(pos).Cells(3).Value
Me.TextNumper.Text = Val(Me.TextNumper.Text).ToString("0.0")
Me.TextPraes.Text = DgvEdit.Rows(pos).Cells(4).Value
Me.TextPraes.Text = Val(Me.TextPraes.Text).ToString("0.0")
Me.TextSalary.Text = DgvEdit.Rows(pos).Cells(5).Value
Me.TextSalary.Text = Val(Me.TextSalary.Text).ToString("0.0")
Me.TextNotes.Text = DgvEdit.Rows(pos).Cells(6).Value
Catch ex As Exception
Exit Sub
End Try
End Sub
Private Sub BtnMoveLast_Click(sender As Object, e As System.EventArgs) Handles BtnMoveLast.Click
myconn.cur.Position = 0
myconn.showposition(lbl:=LbEdit)
Try
Dim pos As Integer = Me.DgvEdit.CurrentRow.Index
Me.Textrecid.Text = DgvEdit.Rows(pos).Cells(0).Value
Me.TextNameCom.Text = DgvEdit.Rows(pos).Cells(1).Value
Me.DateTimePP.Text = DgvEdit.Rows(pos).Cells(2).Value
Me.TextNumper.Text = DgvEdit.Rows(pos).Cells(3).Value
Me.TextNumper.Text = Val(Me.TextNumper.Text).ToString("0.0")
Me.TextPraes.Text = DgvEdit.Rows(pos).Cells(4).Value
Me.TextPraes.Text = Val(Me.TextPraes.Text).ToString("0.0")
Me.TextSalary.Text = DgvEdit.Rows(pos).Cells(5).Value
Me.TextSalary.Text = Val(Me.TextSalary.Text).ToString("0.0")
Me.TextNotes.Text = DgvEdit.Rows(pos).Cells(6).Value
Catch ex As Exception
Exit Sub
End Try
End Sub
Private Sub BtnMoveNext_Click(sender As Object, e As System.EventArgs) Handles BtnMoveNext.Click
myconn.cur.Position -= 1
myconn.showposition(lbl:=LbEdit)
Try
Dim pos As Integer = Me.DgvEdit.CurrentRow.Index
Me.Textrecid.Text = DgvEdit.Rows(pos).Cells(0).Value
Me.TextNameCom.Text = DgvEdit.Rows(pos).Cells(1).Value
Me.DateTimePP.Text = DgvEdit.Rows(pos).Cells(2).Value
Me.TextNumper.Text = DgvEdit.Rows(pos).Cells(3).Value
Me.TextNumper.Text = Val(Me.TextNumper.Text).ToString("0.0")
Me.TextPraes.Text = DgvEdit.Rows(pos).Cells(4).Value
Me.TextPraes.Text = Val(Me.TextPraes.Text).ToString("0.0")
Me.TextSalary.Text = DgvEdit.Rows(pos).Cells(5).Value
Me.TextSalary.Text = Val(Me.TextSalary.Text).ToString("0.0")
Me.TextNotes.Text = DgvEdit.Rows(pos).Cells(6).Value
Catch ex As Exception
Exit Sub
End Try
End Sub
Private Sub BtnMoveFirst_Click(sender As Object, e As System.EventArgs) Handles BtnMoveFirst.Click
myconn.cur.Position = myconn.cur.Count - 1
myconn.showposition(lbl:=LbEdit)
Try
Dim pos As Integer = Me.DgvEdit.CurrentRow.Index
Me.Textrecid.Text = DgvEdit.Rows(pos).Cells(0).Value
Me.TextNameCom.Text = DgvEdit.Rows(pos).Cells(1).Value
Me.DateTimePP.Text = DgvEdit.Rows(pos).Cells(2).Value
Me.TextNumper.Text = DgvEdit.Rows(pos).Cells(3).Value
Me.TextNumper.Text = Val(Me.TextNumper.Text).ToString("0.0")
Me.TextPraes.Text = DgvEdit.Rows(pos).Cells(4).Value
Me.TextPraes.Text = Val(Me.TextPraes.Text).ToString("0.0")
Me.TextSalary.Text = DgvEdit.Rows(pos).Cells(5).Value
Me.TextSalary.Text = Val(Me.TextSalary.Text).ToString("0.0")
Me.TextNotes.Text = DgvEdit.Rows(pos).Cells(6).Value
Catch ex As Exception
Exit Sub
End Try
End Sub
Private Sub BtnSersh_Click(sender As Object, e As System.EventArgs) Handles BtnSersh.Click
myconn.dt.Clear()
myconn.da = New SqlDataAdapter("Select * from Month_Information Where monthe=@d ", myconn.conn)
myconn.da.SelectCommand.Parameters.AddWithValue("@d", CDate(DTP_pur1.Text))
myconn.da.Fill(myconn.dt)
DgvEdit.DataSource = myconn.dv
If myconn.dt.Rows.Count > 0 Then
myconn.ID = DgvEdit.CurrentRow.Cells(0).Value
Textrecid.Text = myconn.dt.Rows(0)(0).ToString
TextNameCom.Text = myconn.dt.Rows(0)(1).ToString
DateTimePP.Value = myconn.dt.Rows(0)(2).ToString
TextNumper.Text = myconn.dt.Rows(0)(3).ToString
TextNumper.Text = Val(TextNumper.Text).ToString("0.0")
TextPraes.Text = myconn.dt.Rows(0)(4).ToString
TextPraes.Text = Val(TextPraes.Text).ToString("0.0")
TextSalary.Text = myconn.dt.Rows(0)(5).ToString
TextSalary.Text = Val(TextSalary.Text).ToString("0.0")
TextNotes.Text = myconn.dt.Rows(0)(6).ToString
DgvEdit.DataSource = myconn.dv
myconn.showposition(lbl:=LbEdit)
myconn.summ(dgv:=DgvEdit, txt:=TexTotal)
summAddMonMony()
summAddMonNumper()
TextNameCom.Enabled = True
DateTimePP.Enabled = False
TextNumper.Enabled = True
TextPraes.Enabled = True
TextSalary.Enabled = True
TextNotes.Enabled = True
BtnSersh.Enabled = True
BtnEdit.Enabled = True
Else
MsgBox("لايوجد بيانات", vbMsgBoxRtlReading + vbCritical, "خطا")
myconn.ClereAllText(Me)
myconn.load_dataMonthe()
'myconn.load_data("select *from Month_Information")
DgvEdit.DataSource = myconn.dv
myconn.cur = CType(Me.BindingContext(myconn.dv), CurrencyManager)
myconn.showposition(lbl:=LbEdit)
myconn.summ(dgv:=DgvEdit, txt:=TexTotal)
summAddMonMony()
summAddMonNumper()
End If
End Sub
Private Sub BtnSershNew_Click(sender As Object, e As System.EventArgs) Handles BtnSershNew.Click
myconn.load_dataMonthe()
'myconn.load_data("select *from Month_Information")
myconn.FormatDGVmonthe(dgv:=DgvEdit)
TextCompany1.Enabled = True
TextCompany1.Text = ""
myconn.dateformae(dat:=DTP_pur1)
BtnEdit.Enabled = True
TextNameCom.Enabled = False
DateTimePP.Enabled = False
TextNumper.Enabled = False
TextPraes.Enabled = False
TextSalary.Enabled = False
TextNotes.Enabled = False
DgvEdit.DataSource = myconn.dv
myconn.summ(dgv:=DgvEdit, txt:=TexTotal)
summAddMonMony()
summAddMonNumper()
myconn.cur = CType(Me.BindingContext(myconn.dv), CurrencyManager)
BtnSersh.Enabled = True
myconn.showposition(lbl:=LbEdit)
BtnEdit.Enabled = False
End Sub
Private Sub BtnCompany_Click(sender As System.Object, e As System.EventArgs) Handles BtnCompany.Click
If myconn.conn.State = ConnectionState.Closed Then
myconn.conn.Open()
End If
If TextCompany1.Text.Trim = "" Then
MsgBox("ادخل قيمة البحث المطلوبة", vbMsgBoxRtlReading + vbCritical, "ادخال البيانات")
TextCompany1.Focus()
Exit Sub
End If
myconn.dt.Clear()
myconn.da = New SqlDataAdapter("Select * from Month_Information Where Name_Company like '%" & TextCompany1.Text.Trim & "%'", myconn.conn)
myconn.da.Fill(myconn.dt)
DgvEdit.DataSource = myconn.dv
If myconn.dt.Rows.Count() > 0 Then
myconn.ID = DgvEdit.CurrentRow.Cells(0).Value
Textrecid.Text = myconn.dt.Rows(0)(0).ToString
TextNameCom.Text = myconn.dt.Rows(0)(1).ToString
DateTimePP.Value = myconn.dt.Rows(0)(2).ToString
TextNumper.Text = myconn.dt.Rows(0)(3).ToString
TextNumper.Text = Val(TextNumper.Text).ToString("0.0")
TextPraes.Text = myconn.dt.Rows(0)(4).ToString
TextPraes.Text = Val(TextPraes.Text).ToString("0.0")
TextSalary.Text = myconn.dt.Rows(0)(5).ToString
TextSalary.Text = Val(TextSalary.Text).ToString("0.0")
TextNotes.Text = myconn.dt.Rows(0)(6).ToString
DgvEdit.DataSource = myconn.dv
myconn.showposition(lbl:=LbEdit)
myconn.summ(dgv:=DgvEdit, txt:=TexTotal)
summAddMonMony()
summAddMonNumper()
TextCompany1.Text = ""
TextCompany1.Enabled = False
TextNameCom.Enabled = True
DateTimePP.Enabled = False
TextNumper.Enabled = True
TextPraes.Enabled = True
TextSalary.Enabled = True
TextNotes.Enabled = True
BtnEdit.Enabled = True
Else
MsgBox("لايوجد بيانات", vbMsgBoxRtlReading + vbCritical, "خطا")
myconn.load_dataMonthe()
'myconn.load_data("select *from Month_Information")
DgvEdit.DataSource = myconn.dv
myconn.cur = CType(Me.BindingContext(myconn.dv), CurrencyManager)
myconn.showposition(lbl:=LbEdit)
End If
End Sub
Private Sub BtnEdit_Click(sender As System.Object, e As System.EventArgs) Handles BtnEdit.Click
Try
If myconn.conn.State = ConnectionState.Open Then
myconn.conn.Close()
End If
If TextNameCom.Text = "" Then
MsgBox("الرجاء ادخال اسم الشركة", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "حقل إجباري")
TextNameCom.Focus()
Exit Sub
End If
If TextNumper.Text = "" Then
MsgBox("الرجاء ادخال عدد ساعات الاضافي", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "حقل إجباري")
Exit Sub
TextNumper.Focus()
End If
If TextPraes.Text = "" Then
MsgBox("الرجاء ادخال ثمن الاضافي", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "حقل إجباري")
Exit Sub
TextPraes.Focus()
End If
If TextSalary.Text = "" Then
MsgBox("الرجاء ادخال الراتب", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "حقل إجباري")
Exit Sub
TextSalary.Focus()
End If
Dim updaet As Boolean
updaet = myconn.SQlExicute("update Month_Information set Name_Company= '" & TextNameCom.Text & "', monthe= '" & DateTimePP.Text & "', Number_hours= '" & TextNumper.Text & "', price_hours= '" & TextPraes.Text & "', Salary= '" & TextSalary.Text & "' , Notes= '" & TextNotes.Text & "' where ID= '" & Textrecid.Text & "'")
If updaet = True Then
MsgBox("تمت عملية التحديث بنجاح", MsgBoxStyle.Information)
myconn.dt.Clear()
myconn.da.Fill(myconn.dt)
DgvEdit.DataSource = myconn.dt
BindingContext(myconn.dt).Position = myconn.pos
myconn.cur = CType(Me.BindingContext(myconn.dv), CurrencyManager)
myconn.showposition(lbl:=LbEdit)
myconn.summ(dgv:=DgvEdit, txt:=TexTotal)
summAddMonMony()
summAddMonNumper()
BtnEdit.Enabled = False
TextNameCom.Enabled = False
DateTimePP.Enabled = False
TextNumper.Enabled = False
TextPraes.Enabled = False
TextSalary.Enabled = False
TextNotes.Enabled = False
BtnSersh.Enabled = True
TextCompany1.Enabled = False
BtnCompany.Enabled = True
Else
MsgBox("خطا في عملية التحديث", MsgBoxStyle.Critical)
myconn.load_dataMonthe()
'myconn.load_data("select *from Month_Information")
DgvEdit.DataSource = myconn.dt
myconn.summ(dgv:=DgvEdit, txt:=TexTotal)
summAddMonMony()
summAddMonNumper()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub FillData()
End Sub
Private Sub TextNameCom_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextNameCom.KeyPress
If Char.IsControl(e.KeyChar) = False Then
If Char.IsDigit(e.KeyChar) Then
e.Handled = True
End If
End If
End Sub
Private Sub TextNotes_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextNotes.KeyPress
If Char.IsControl(e.KeyChar) = False Then
If Char.IsDigit(e.KeyChar) Then
e.Handled = True
End If
End If
End Sub
Private Sub TextNumper_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextNumper.KeyPress
Select Case e.KeyChar
Case "0"c To "9"c, Chr(Keys.Back)
Case "."
'لن نفعل أي شيء.. هذا معناه قبول كتابة هذا الحرف
Case Else
Beep()
e.Handled = True
End Select
End Sub
Private Sub TextPraes_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextPraes.KeyPress
Select Case e.KeyChar
Case "0"c To "9"c, Chr(Keys.Back)
Case "."
'لن نفعل أي شيء.. هذا معناه قبول كتابة هذا الحرف
Case Else
Beep()
e.Handled = True
End Select
End Sub
Private Sub TextSalary_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles TextSalary.KeyPress
Select Case e.KeyChar
Case "0"c To "9"c, Chr(Keys.Back)
Case "."
'لن نفعل أي شيء.. هذا معناه قبول كتابة هذا الحرف
Case Else
Beep()
e.Handled = True
End Select
End Sub
Private Sub BinDataDelet()
Textrecid.DataBindings.Clear()
TextNameCom.DataBindings.Clear()
DateTimePP.DataBindings.Clear()
TextNumper.DataBindings.Clear()
TextPraes.DataBindings.Clear()
TextSalary.DataBindings.Clear()
TextNotes.DataBindings.Clear()
Textrecid.DataBindings.Add("text", myconn.dv, "ID")
TextNameCom.DataBindings.Add("text", myconn.dv, "Name_Company")
DateTimePP.DataBindings.Add("text", myconn.dv, "monthe")
TextNumper.DataBindings.Add("text", myconn.dv, "Number_hours")
'TextNumper.Text = Val(myconn.dv(0)("Number_hours")).ToString("0.0")
TextNumper.Text = Val(TextNumper.Text).ToString("0.0")
'TextPraes.Text = Val(myconn.dv(0)("price_hours")).ToString("0.0")
TextPraes.DataBindings.Add("text", myconn.dv, "price_hours")
TextPraes.Text = Val(TextPraes.Text).ToString("0.0")
'TextSalary.Text = Val(myconn.dv(0)("Salary")).ToString("0.0")
TextSalary.DataBindings.Add("text", myconn.dv, "Salary")
TextSalary.Text = Val(TextSalary.Text).ToString("0.0")
TextNotes.DataBindings.Add("text", myconn.dv, "Notes")
End Sub
Private Sub summAddMonMony()
'DgvEdit.DataSource = myconn.dt
Dim summ As Double = 0
For i As Integer = 0 To DgvEdit.RowCount - 1
summ += DgvEdit.Rows(i).Cells(4).Value
Next
TextMony.Text = Format(summ, "00.00")
End Sub
Private Sub summAddMonNumper()
'DgvEdit.DataSource = myconn.dt
Dim summ As Double = 0
For i As Integer = 0 To DgvEdit.RowCount - 1
summ += DgvEdit.Rows(i).Cells(3).Value
Next
TextNumpert.Text = Format(summ, "00.00")
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Me.Close()
End Sub
End Class
صحيح البرنامج يعمل معي دون اي اخطاء لكن عرضت لكم الاكواد
وكوني مبتديء لنتعلم اي خطا موجود في كتابة هذة الاكواد
تحياتي لكم