الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

بداية مشروع منظومة شؤون الموظفين .. اريد اكواد الاضافة والتعديل والحفظ والحذف بقاعدة بيانات SQL

بدأه h_k007 في 25 يوليو 2012 · 11 رد · 9,566 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

نرجو منكم مساعدتي ويجزكم الله الف خير

انا مبتدء في البرمجة بلغة الفيجول بيسك.نت واستخدم 2008 . واود منكم مساعدتي

المشكلة بالضبط :::

يوجد لدي دليل واريد التالي لانه الفكرة واحده ...

دليل الادارات ::

الرقم - الادارة ----- مدير الادارة ---صفته

اود عمل قاعدة بيانات للادلة السابقة

وعمل فورم

فيه الازرار التالية ::

عرض -----اضافة --- تعديل ----- حفظ ----- حذف----- ايضا الازرار الاخري كاول السجل والاخر

طبعا يتم الربط بالداتا بيز ... علما لااريد الربط عن طريق الادوات وانما اريد برمجيا عن طريق الاكواد

ايضاً نرجو عمل للفورم المعروض الاكواد التوضيحية..... كمثال كامل

وشكرا

ومن لديه المراجع النقاط التي ارديها فل يدلني علي ذلك .. علما باني اقف عند نقطة معينة دائما كخطئ عندي

فلهذا اريد مثال كامل وشكراً

المطلوب : اكواد اللازار مرتبطة بقاعدة البيانات index

---- في خانة الرقم ( عدم كتابة اسم فقط ارقام وظهور رسالة تحذير بذلك)

---- عند الاضافة يتم مسح جميع الحقول التي تمت تعبئتها في التكست بوكس

----

وبارك الله فيكم علي مساعدتي

post-110143-002615300 1343238588_thumb.j

المرفقات
save.jpg
#2

أخي السائل

كود عدم تسجيل حروف في خانة الرقم

 If (Char.IsControl(e.KeyChar) = False) Then
            If (Char.IsDigit(e.KeyChar)) Then

            Else
                e.Handled = True
                MsgBox("غير مسموح كتابة نصوص", MsgBoxStyle.Information, "تنبية")
                TEXHomephone2.Focus()
            End If
        End If

كود الحفظ

Try

            If TEXName.Text = "" Then
                MsgBox("الرجاء ادخال البيانات كاملة", MsgBoxStyle.Information, "تحذير")
                TEXName.Focus()

            ElseIf MsgBox("هل تريد حفظ السجل الحالي", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "تأكيد الحفظ") = MsgBoxResult.No Then
                Exit Sub

            Else
                sqlcon.Open()
                Dim cmd As New SqlCommand("savedata", sqlcon)
                cmd.CommandType = CommandType.StoredProcedure

                Dim _TEXname As String = Convert.ToString(Me.TEXName.Text)
                Dim _TEXTelehome1 As String = Convert.ToString(Me.TEXHomephone1.Text)
                Dim _TEXTelehome2 As String = Convert.ToString(Me.TEXHomephone2.Text)
                Dim _TEXMobile As String = Convert.ToString(Me.TEXMobile.Text)
                Dim _TEXOffice As String = Convert.ToString(Me.TEXOffice.Text)
                Dim _TEXFax As String = Convert.ToString(Me.TEXFax.Text)
                Dim _TEXEmail As String = Convert.ToString(Me.TEXEmail.Text)
                Dim _TEXNotes As String = Convert.ToString(Me.TEXNotes.Text)
                Dim _TEXAddress As String = Convert.ToString(Me.TEXAddress.Text)

                cmd.Parameters.Add("@FullName", SqlDbType.NVarChar, (50)).Value = _TEXname
                cmd.Parameters.Add("@Tele_home1", SqlDbType.NVarChar, (20)).Value = _TEXTelehome1
                cmd.Parameters.Add("@Tele_home2", SqlDbType.NVarChar, (20)).Value = _TEXTelehome2
                cmd.Parameters.Add("@Mobile", SqlDbType.NVarChar, (20)).Value = _TEXMobile
                cmd.Parameters.Add("@Office", SqlDbType.NVarChar, (20)).Value = _TEXOffice
                cmd.Parameters.Add("@Fax", SqlDbType.NVarChar, (20)).Value = _TEXFax
                cmd.Parameters.Add("@email", SqlDbType.NVarChar, (50)).Value = _TEXEmail
                cmd.Parameters.Add("@Address", SqlDbType.NVarChar, (50)).Value = _TEXAddress
                cmd.Parameters.Add("@Notes", SqlDbType.NVarChar, (50)).Value = _TEXNotes

                cmd.ExecuteNonQuery()

                MsgBox("تم الحفظ", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "حفظ")
                ds.Clear()
                search()
                ' Clear_Input(Me)
            End If
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        End Try
        sqlcon.Close()

كود الحذف

 Try
            If TEXName.Text = "" Then
                MsgBox("الرجاء ادخال البيانات كاملة", MsgBoxStyle.Information, "تحذير")
                TEXName.Focus()

            ElseIf MsgBox("هل تريد حذف السجل الحالي", MsgBoxStyle.Critical + MsgBoxStyle.YesNo, "تأكيد الحذف") = MsgBoxResult.No Then
                Exit Sub
            Else
                sqlcon.Open()
                Dim cmd As New SqlCommand("Deletedata", sqlcon)
                cmd.CommandType = CommandType.StoredProcedure
                Dim _TEXFullname As String = Convert.ToString(Me.TEXName.Text)
                cmd.Parameters.Add("@FullName", SqlDbType.NVarChar, (50)).Value = _TEXFullname
                cmd.ExecuteNonQuery()
                MsgBox("تم الحذف", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "حذف")
            End If
            ds.Clear()
            search()
            ' Clear_Input(Me)
        Catch ex As Exception

        End Try
        sqlcon.Close()

كود التعديل

Try

            If TEXName.Text = "" Then
                MsgBox("الرجاء ادخال البيانات كاملة", MsgBoxStyle.Information, "تحذير")
                TEXName.Focus()

            ElseIf MsgBox("هل تريد تعديل السجل", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "تأكيد التعديل") = MsgBoxResult.No Then
                Exit Sub
            Else
                sqlcon.Open()
                Dim cmd As New SqlCommand("Updatedata", sqlcon)
                cmd.CommandType = CommandType.StoredProcedure
                Dim _TEXID As String = Convert.ToString(Me.TEXID.Text)
                Dim _TEXname As String = Convert.ToString(Me.TEXName.Text)
                Dim _TEXTelehome1 As String = Convert.ToString(Me.TEXHomephone1.Text)
                Dim _TEXTelehome2 As String = Convert.ToString(Me.TEXHomephone2.Text)
                Dim _TEXMobile As String = Convert.ToString(Me.TEXMobile.Text)
                Dim _TEXOffice As String = Convert.ToString(Me.TEXOffice.Text)
                Dim _TEXFax As String = Convert.ToString(Me.TEXFax.Text)
                Dim _TEXEmail As String = Convert.ToString(Me.TEXEmail.Text)
                Dim _TEXNotes As String = Convert.ToString(Me.TEXNotes.Text)
                Dim _TEXAddress As String = Convert.ToString(Me.TEXAddress.Text)

                cmd.Parameters.Add("@ID", SqlDbType.Int, 4).Value = _TEXID
                cmd.Parameters.Add("@FullName", SqlDbType.NVarChar, (50)).Value = _TEXname
                cmd.Parameters.Add("@Tele_home1", SqlDbType.NVarChar, (20)).Value = _TEXTelehome1
                cmd.Parameters.Add("@Tele_home2", SqlDbType.NVarChar, (20)).Value = _TEXTelehome2
                cmd.Parameters.Add("@Mobile", SqlDbType.NVarChar, (20)).Value = _TEXMobile
                cmd.Parameters.Add("@Office", SqlDbType.NVarChar, (20)).Value = _TEXOffice
                cmd.Parameters.Add("@Fax", SqlDbType.NVarChar, (20)).Value = _TEXFax
                cmd.Parameters.Add("@Email", SqlDbType.NVarChar, (50)).Value = _TEXEmail
                cmd.Parameters.Add("@Address", SqlDbType.NVarChar, (50)).Value = _TEXAddress
                cmd.Parameters.Add("@Notes", SqlDbType.NVarChar, (50)).Value = _TEXNotes

                cmd.ExecuteNonQuery()

                MsgBox("تم التعديل", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "تأكيد التعديل")
                ds.Clear()
                search()
                'Clear_Input(Me)
            End If
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        End Try
        sqlcon.Close()

ضع في اعتبارك الاختلاف بين مسميات الحقول في الكود المكتوب و مسميات الحقول طرفك

ايضا يمكنك الاستعانة بهذه المشاركة فستجد بداخلها مثال يحتوي علي كل المطلوب بخصوص أسئلتك

/index.php?showtopic=177712&st=0&p=900207&fromsearch=1entry900207

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 26 يوليو 2012 في 17:48

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3

شكراً اخ محمد علي اجابتك ومساعدتي ولكن اخي الكريم انا عامل فورم وبوتن في الفروم واود وضع الكود برمجياً ... بمعني اخر اني عندي كود واود تعديله في خطئ ولا اعرف ما هو لو تحاول تساعدني في التصليح وسوف اعرض عليك الكود كله في الجينزال والببلك وفي بوتن الحفظ ....

genelal::::

Imports System.Data.SqlClient

Imports System.Data

Public Class index_magmt

Dim CON As New SqlConnection("Data Source=KNAN\SQLEXPRESS;Initial Catalog=index;Integrated Security=True;Pooling=False")

'Public conn As New SqlConnection("Server =.\SqlExpress; Database = index; Trusted_Connection = yes; TimeOut = 10 ")

'Public DS As New DataSet

'Public SQLstr As String = "SELECT * FROM index_mangment "

'Inherits System.Windows.Forms.Form

'Dim ds As New DataSet

'Dim da As New SqlClient.SqlDataAdapter("Select * from Tele_index", sqlcon)

Btnsave

'If txtmag_no.Text = "" Then

' MsgBox("الرجاء ادخال رقم الادارة", MsgBoxStyle.MsgBoxRtlReading, "بيانات غير موجودة")

'ElseIf Not IsNumeric(txtmag_no.Text) Then

' MsgBox("الرجاء ادخال قيمة عددية ", MsgBoxStyle.MsgBoxRtlReading, "ادخال خاطئ")

'End If

Try

If txtmag_no.Text = "" Then

MsgBox("ادخل اسم العميل")

txtmag_no.Focus()

Catch ex As Exception

End Try

Exit Sub

End If

Try

CON.Open()

Dim sq As String = "insert into index_mangment(mangment_no,mangment,boss,sign)values('" & txtmag_no.Text & "','" & txtmag_name.Text & "','" + txtmag_boss.Text & "','" & txtmag_sgin.Text & "')"

Dim cmd As New SqlCommand(sq, CON)

cmd.ExecuteNonQuery()

MsgBox("تمت عملية حفظ البيانات بنجاح", MsgBoxStyle.MsgBoxRtlReading, "تنفيذ اجراء حفظ")

Catch ex As Exception

MsgBox(ex.Message)

'MsgBox("تأكد من ادخال جميع البيانات وبالصورة الصحيحة", MsgBoxStyle.MsgBoxRtlReading, "ادخال خاطئ او غير مكتمل")

Finally

CON.Close()

End Try

عندي اخطاء واود تعديلها من قبلك ولك جزيل الشكر اخي

معلومات الفورم : الرقم =txtmag_no

الادارة: txtmag_name

مدير الادارة:txtmag_boss

صفته: txtmag_sgin

الداتا بيز :index_mangment

mangment_no

,mangment

,boss

,sign

اود اخي الكريم ان يتم تعديل الكود الخاص بالحفظ والتعديل بالطريقة التي موجود امامك ,وايضاً بوتن السجل اول سجل واخر سجل الموجودة في الفورم بالصورة بالكود ..وشكراً

index.rar

#4

مشاركتي يا أخي توفي جميع تساؤلاتك

علي أي حال اذا كنت مصر علي تعديل ملفك فأرجو ارسال

1- المشروع

2-قاعدة البيانات

حتي استطيع عمل Debug للكود ومشاهدة مصدر الخطأ لاصلاحة

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 27 يوليو 2012 في 14:52

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5

الملف الذي طلبته في المرفقات

اود فقط اود ان يتم تصليح الكود الذي كتبته او الطريقة الموجودة عندي برمجيا وشكرا

HSR1.rar

#6

أخي الفاضل

الخطأ الوحيد الموجود في كود الحفظ هو أن اسم العمود الاول الموجود في قاعدة البيانات ليس بنفس التهجئة الموجوده في جملة الــ insert المكتوبة داخل الكود

ونفس الخطأ مكرر في العمود الثاني

العمود الاول المسمي داخل قاعدة البياتات magment_no والمسمي داخل الكود mangment_no

العمود الثاني المسمي داخل قاعدة البيانات magment والمسمي داخل الكود mangment

الحل يجب ان يكون مسمي الحقل داخل قاعدة البيانات بنفس المسمي المكتوب داخل الكود

ثانياً:- يتم وضع الكود الذي يمنع تسجيل حروف داخل حقل الرقم في حدث txtmag_no_KeyPress

مرفق ملفك بعد عمل التعديلات اللازمة عليه

HSR1_update.rar

1

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#7

شكراً اخي الفاضل محمد

وبارك الله فيك لا اعرف كيف اخطئت في كتابة الاسم .. شكرا لك علي ايجاد الخطأ وتوجيهي .. بارك الله فيك

واود منك مساعدتي دائما خصوصا انني في بداية الانشاء لو لم اعرف شيئا سوف اطرحه عليك

,,, تحياتي ....

#8

السلام عليكم ورحمة الله وبركاته

اخي محمد اود منك مساعدتي في اصلاح الكود لااعرف مالخطئ ولكن عند تفعيله يعطي

invalid cloumn

.'ali'

الاسم بالعربي طبعا : علي

الخطئ الذي يقصده هو في boss - المدير في خانة النموذج

الكود هو كالتالي

Private Sub Btnedit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnedit.Click

If txtmag_no.Text = "" Then

MsgBox(" هل انت متأكد من عملية التعديل ", MsgBoxStyle.MsgBoxRtlReading, "تنفيذ عملية الحدف")

txtmag_no.Focus()

ElseIf Not IsNumeric(txtmag_no.Text) Then

MsgBox("لايمكنك ادخال قيمة غير عددية للاسم", MsgBoxStyle.MsgBoxRtlReading, "ادخال خاطئ")

txtmag_no.Text = ""

txtmag_no.Focus()

Else

If MessageBox.Show("هل انت متأكد من تعديل سجل الموظف الحالي", "حدف سجل موظف", MessageBoxButtons.YesNo, MessageBoxIcon.Hand, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign) = Windows.Forms.DialogResult.Yes Then

Try

CON.Open()

Dim sq As String = "update index_mangment set magment='" + txtmag_name.Text + "',boss =" + txtmag_boss.Text + ",sign ='" + txtmag_sgin.Text + "' where magment_no=" + txtmag_no.Text + ""

Dim cmd As New SqlCommand(sq, CON)

cmd.ExecuteNonQuery()

MsgBox("تمت عملية التعديل البيانات بنجاح", MsgBoxStyle.MsgBoxRtlReading, "تنفيذ اجراء الحدف")

txtmag_no.Text = ""

Catch ex As Exception

MsgBox(ex.Message)

Finally

CON.Close()

End Try

Else

MsgBox("تم الغاء عملية التعديل بناء على رغبتك", MsgBoxStyle.MsgBoxRtlReading, "الغاء عملية التعديل")

End If

End If

End Sub

ايضا اخي محمد اود تعديل علي الكود

Dim sq As String = "update index_mangment set magment='" + txtmag_name.Text + "',boss =" + txtmag_boss.Text + ",sign ='" + txtmag_sgin.Text + "' where magment_no=" + txtmag_no.Text + ""

بحث علي الطريقة ولكن لم اجد مثها اود منك شرح هذا الكود علما بانني قراءت وبحث كثيرا ووجدت ان الكود السابق واقل برمجيا مقارنة بالدي قراءته

اود ايضا التعديل بفس الكود .. مع اضافة شروط ...

اضافة عليه ازرار السجل السابق والسجل الاول والاخير

فنرجو منك مساعدتي وشرحله لي وشكراً

المطلوب : تصليح التعديل

اكواد ازرار السجل التالي والاخر والسابق ايضا عند عدم وصول الي نهاية يعطيك مسج بانه اخر السجل او اوله

شرط: عند ضغط زر اضافة سجل جديد ::: يمسح كل التكست بوكس وعند اضافة رقم موجود يعطيك رسالة بان الرقم موجود

اخي محمد اعرف انه ياخد من وقتك ولكني بدايتي في منظومة لذا نرجو التواصل معي ومساعدتي وشكرا وبارك الله فيك اخي واود دائما لما تشرح ليا ان ترفق لي الكود ومثال بفورم وشكراً

form+code.rar

#9

اخي محمد بعد اريد شرط معين الا وهو بعد ضغط علي زر الحفظ تظهر مسج انه تم حفظ البيانات وهيا موجوة ولكن اريد ان يتم مسح جميع المحتويات في الديكست بوكس كلهم ...

كنوع من شرط

#10

أخي الفاضل

لم يسعني الوقت للاجابة علي كل هذه الاسئلة دفعة واحدة ولكن

من خلال الخطأ الذي ظهر لك فمن الواضح ان الكود لا يستطيع ايجاد عمود اسمة ali لذلك ارجو مراجعة مسميات الاعمدة مرة أخري بعناية

أما بخصوص كود تفريغ كافة مربعات النص وقت الحفظ ارجو مشاهدة المثال

Public Sub ClearTextBox(ByVal root As Control)
        For Each ctrl As Control In root.Controls
            ClearTextBox(ctrl)
            If TypeOf ctrl Is TextBox Then
                CType(ctrl, TextBox).Text = String.Empty
            End If
        Next ctrl
    End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ClearTextBox(Me)
End Sub

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#11

اخي محمد نرجو مساعدتي وسوف انتظارك مافيه مشكلة

#12

اخي محمد نجحت في تعديل زر التعديل ..

اريد فقط كود زر السجل للامام وللخلف واول السجل واخره وتحياتي لك

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…