• 0
h_k007

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

سؤال

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

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

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

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

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

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

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

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

وعمل فورم

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

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

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

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

وشكرا

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

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

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

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

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

----

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

post-110143-002615300 1343238588_thumb.j

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

11 إجابة على هذا السؤال .

  • 0

أخي السائل

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


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()

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

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

http://www.arabteam2000-forum.com/index.php?showtopic=177712&st=0&p=900207&fromsearch=1entry900207

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

1- المشروع

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

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

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

HSR1.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل

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

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

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

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

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

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

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

HSR1_update.rar

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

كنوع من شرط

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل

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

من خلال الخطأ الذي ظهر لك فمن الواضح ان الكود لا يستطيع ايجاد عمود اسمة 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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .