تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مساعدة في حل اخطاء الحفظ
#1
Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click
        Dim ssd As String = GetAutoIncrement("affaires", "id_aff")
        TextBox2.Text = ssd
        If CmbType.Text = "" Then
            MessageBox.Show("ادخل نوع القضية", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            CmbType.Focus()
            Return
        End If
        If CmbNature.Text = "" Then
            MessageBox.Show("ادخل طبيعة القضية", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            CmbNature.Focus()
            Return
        End If
        If MaskedTextBox1.Text = "" Then
            MessageBox.Show("ادخل تاريخ الايداع", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            MaskedTextBox1.Focus()
            Return
        End If
        Try
            Connect()
            con.Open()
            Dim cb As String = "insert into affaires ([id_aff],[id_user],[type_aff],[nature_aff],[date_depot],[date_convoquer],[date_realiser],[payer],[avance],[reglement],[observation]) VALUES (@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8,@d9,@d10,@d11)"
            cmd = New SqlCommand(cb)
            cmd.Connection = con
            cmd.Parameters.AddWithValue("@d1", TextBox2.Text).ToString()
            cmd.Parameters.AddWithValue("@d2", Label13.Text).ToString()
            cmd.Parameters.AddWithValue("@d3", CmbType.Text).ToString()
            cmd.Parameters.AddWithValue("@d4", CmbNature.Text).ToString()
            cmd.Parameters.AddWithValue("@d5", MaskedTextBox1.Text).ToString()
            cmd.Parameters.AddWithValue("@d6", MaskedTextBox2.Text).ToString()
            cmd.Parameters.AddWithValue("@d7", MaskedTextBox3.Text).ToString()
            cmd.Parameters.AddWithValue("@d8", TextBox3.Text).ToString()
            cmd.Parameters.AddWithValue("@d9", TextBox4.Text).ToString()
            cmd.Parameters.AddWithValue("@d10", TextBox5.Text).ToString()
            cmd.Parameters.AddWithValue("@d11", TextBox1.Text).ToString()
            cmd.ExecuteNonQuery()
            con.Close()
            MessageBox.Show("تمت عملية الحفظ بنجاح", "tiers", MessageBoxButtons.OK, MessageBoxIcon.Information)
            BtnDelete.Enabled = False
            BtnUpdate.Enabled = False
            reset()
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
        End Try
    End Sub
يظهر الخطا الموضح في الصورة 1


وعند الضغط مرة اخرى على زر تسجيل يظهر صورة 2


الملفات المرفقة صورة/صور
       
الرد
تم الشكر بواسطة:
#2
(03-02-20, 06:44 AM)tahaayyoub كتب : Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click
        Dim ssd As String = GetAutoIncrement("affaires", "id_aff")
        TextBox2.Text = ssd
        If CmbType.Text = "" Then
            MessageBox.Show("ادخل نوع القضية", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            CmbType.Focus()
            Return
        End If
        If CmbNature.Text = "" Then
            MessageBox.Show("ادخل طبيعة القضية", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            CmbNature.Focus()
            Return
        End If
        If MaskedTextBox1.Text = "" Then
            MessageBox.Show("ادخل تاريخ الايداع", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            MaskedTextBox1.Focus()
            Return
        End If
        Try
            Connect()
            con.Open()
            Dim cb As String = "insert into affaires ([id_aff],[id_user],[type_aff],[nature_aff],[date_depot],[date_convoquer],[date_realiser],[payer],[avance],[reglement],[observation]) VALUES (@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8,@d9,@d10,@d11)"
            cmd = New SqlCommand(cb)
            cmd.Connection = con
            cmd.Parameters.AddWithValue("@d1", TextBox2.Text).ToString()
            cmd.Parameters.AddWithValue("@d2", Label13.Text).ToString()
            cmd.Parameters.AddWithValue("@d3", CmbType.Text).ToString()
            cmd.Parameters.AddWithValue("@d4", CmbNature.Text).ToString()
            cmd.Parameters.AddWithValue("@d5", MaskedTextBox1.Text).ToString()
            cmd.Parameters.AddWithValue("@d6", MaskedTextBox2.Text).ToString()
            cmd.Parameters.AddWithValue("@d7", MaskedTextBox3.Text).ToString()
            cmd.Parameters.AddWithValue("@d8", TextBox3.Text).ToString()
            cmd.Parameters.AddWithValue("@d9", TextBox4.Text).ToString()
            cmd.Parameters.AddWithValue("@d10", TextBox5.Text).ToString()
            cmd.Parameters.AddWithValue("@d11", TextBox1.Text).ToString()
            cmd.ExecuteNonQuery()
            con.Close()
            MessageBox.Show("تمت عملية الحفظ بنجاح", "tiers", MessageBoxButtons.OK, MessageBoxIcon.Information)
            BtnDelete.Enabled = False
            BtnUpdate.Enabled = False
            reset()
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
        End Try
    End Sub
يظهر الخطا الموضح في الصورة 1


وعند الضغط مرة اخرى على زر تسجيل يظهر صورة 2

السلام عليكم ورحمة الله وبركاته 
أولا.  المهم هو الكود الذي تحت  connect() و  reset() .
قد يكون كل ما تضغط على الزر يغير نص الاتصال في connect().
 ويفضل اضافة   con.close() بعد ظهور رسالة الاستناء.

تمنياتي لك وللجميع التوفيق
الرد
تم الشكر بواسطة: asemshahen5 , ابراهيم ايبو , egypt 2020 , egypt 2020
#3
استبدل :
كود :
con.open()
بـ :

كود :
If con.State = ConnectionState.Closed Then con.Open()
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر




الرد
تم الشكر بواسطة: ابراهيم ايبو , egypt 2020 , egypt 2020 , baha
#4
(03-02-20, 10:53 AM)asemshahen5 كتب : استبدل :
كود :
con.open()
بـ :

كود :
If con.State = ConnectionState.Closed Then con.Open()

علي ما اعتقد استاذ asemshahen5 الموضوع مش جملة اتصال .

المشكلة عندة في حفظ التاريخ وتقريبا كدة بيستخدم تيكست لحفظ التاريخ بدل من اداة التاريخ  .

1- استخدم اداة التاريخ DateTimePicker1

2- خلي الخاصية FORMATE = SHORT

3- اتاكد من حقل التاريخ بقاعدة البيانات او خلية تاريخ وخلي الخاصية الخاصة بية  Short Date

4-وعدل بارميتر الخاص بحقل التاريخ

5- ضع البارميتر التالي في حقل التاريخ وفقا لاسم الحقل لديك.

6- طبعا تقدر تستخدم التيكست بس مش صح الطريقة دية هتحتاج تعمل CONVERT وملوش داعي هنا .

كود :
  com.Parameters.AddWithValue("@employee_date", DateTimePicker1.Value.ToShortDateString)
اما لو تيكست وعايز تحفظها بوضعها كتيكست لو انا فاهم صح .


فعدل اداة التاريخ بالكود التالي ايا كان اسمها .

كود :
 Convert.ToDateTime(MaskedTextBox1.Text).ToShortDateString
الرد
تم الشكر بواسطة: asemshahen5 , baha
#5
(03-02-20, 02:20 PM)egypt 2020 كتب :
(03-02-20, 10:53 AM)asemshahen5 كتب : استبدل :
كود :
con.open()
بـ :

كود :
If con.State = ConnectionState.Closed Then con.Open()

علي ما اعتقد استاذ asemshahen5 الموضوع مش جملة اتصال .

المشكلة عندة في حفظ التاريخ وتقريبا كدة بيستخدم تيكست لحفظ التاريخ بدل من اداة التاريخ  .

1- استخدم اداة التاريخ DateTimePicker1

2- خلي الخاصية FORMATE = SHORT

3- اتاكد من حقل التاريخ بقاعدة البيانات او خلية تاريخ وخلي الخاصية الخاصة بية  Short Date

4-وعدل بارميتر الخاص بحقل التاريخ

5- ضع البارميتر التالي في حقل التاريخ وفقا لاسم الحقل لديك.

6- طبعا تقدر تستخدم التيكست بس مش صح الطريقة دية هتحتاج تعمل CONVERT وملوش داعي هنا .

كود :
  com.Parameters.AddWithValue("@employee_date", DateTimePicker1.Value.ToShortDateString)
اما لو تيكست وعايز تحفظها بوضعها كتيكست لو انا فاهم صح .


فعدل اداة التاريخ بالكود التالي ايا كان اسمها .

كود :
 Convert.ToDateTime(MaskedTextBox1.Text).ToShortDateString

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




الرد
تم الشكر بواسطة: egypt 2020
#6
(03-02-20, 02:35 PM)asemshahen5 كتب :
(03-02-20, 02:20 PM)egypt 2020 كتب :
(03-02-20, 10:53 AM)asemshahen5 كتب : استبدل :
كود :
con.open()
بـ :

كود :
If con.State = ConnectionState.Closed Then con.Open()

علي ما اعتقد استاذ asemshahen5 الموضوع مش جملة اتصال .

المشكلة عندة في حفظ التاريخ وتقريبا كدة بيستخدم تيكست لحفظ التاريخ بدل من اداة التاريخ  .

1- استخدم اداة التاريخ DateTimePicker1

2- خلي الخاصية FORMATE = SHORT

3- اتاكد من حقل التاريخ بقاعدة البيانات او خلية تاريخ وخلي الخاصية الخاصة بية  Short Date

4-وعدل بارميتر الخاص بحقل التاريخ

5- ضع البارميتر التالي في حقل التاريخ وفقا لاسم الحقل لديك.

6- طبعا تقدر تستخدم التيكست بس مش صح الطريقة دية هتحتاج تعمل CONVERT وملوش داعي هنا .

كود :
  com.Parameters.AddWithValue("@employee_date", DateTimePicker1.Value.ToShortDateString)
اما لو تيكست وعايز تحفظها بوضعها كتيكست لو انا فاهم صح .


فعدل اداة التاريخ بالكود التالي ايا كان اسمها .

كود :
 Convert.ToDateTime(MaskedTextBox1.Text).ToShortDateString

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

ولك كل الشكرا ايضا  |استاذ  asemshahen5

ممكن مع الخطا الاتصال يفضل مفتوح وخصوصا انك لو لاحظت انة في تصيد الخطا لم يغلق الاتصال .

ارجو تقبل مروري |استاذ asemshahen5 .
الرد
تم الشكر بواسطة: asemshahen5 , baha
#7
بارك الله فيك انت تقبل مروري و جزاك الله عنا كل خير .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر




الرد
تم الشكر بواسطة: egypt 2020 , egypt 2020 , baha
#8
(03-02-20, 02:45 PM)asemshahen5 كتب : بارك الله فيك انت تقبل مروري و جزاك الله عنا كل خير .


اسأل الله ان يرزقك من فضلة .

ويرزق الجميع كل الخير .
الرد
تم الشكر بواسطة: asemshahen5 , baha
#9
(03-02-20, 06:44 AM)tahaayyoub كتب : Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click
        Dim ssd As String = GetAutoIncrement("affaires", "id_aff")
        TextBox2.Text = ssd
        If CmbType.Text = "" Then
            MessageBox.Show("ادخل نوع القضية", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            CmbType.Focus()
            Return
        End If
        If CmbNature.Text = "" Then
            MessageBox.Show("ادخل طبيعة القضية", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            CmbNature.Focus()
            Return
        End If
        If MaskedTextBox1.Text = "" Then
            MessageBox.Show("ادخل تاريخ الايداع", "", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            MaskedTextBox1.Focus()
            Return
        End If
        Try
            Connect()
            con.Open()
            Dim cb As String = "insert into affaires ([id_aff],[id_user],[type_aff],[nature_aff],[date_depot],[date_convoquer],[date_realiser],[payer],[avance],[reglement],[observation]) VALUES (@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8,@d9,@d10,@d11)"
            cmd = New SqlCommand(cb)
            cmd.Connection = con
            cmd.Parameters.AddWithValue("@d1", TextBox2.Text).ToString()
            cmd.Parameters.AddWithValue("@d2", Label13.Text).ToString()
            cmd.Parameters.AddWithValue("@d3", CmbType.Text).ToString()
            cmd.Parameters.AddWithValue("@d4", CmbNature.Text).ToString()
            cmd.Parameters.AddWithValue("@d5", MaskedTextBox1.Text).ToString()
            cmd.Parameters.AddWithValue("@d6", MaskedTextBox2.Text).ToString()
            cmd.Parameters.AddWithValue("@d7", MaskedTextBox3.Text).ToString()
            cmd.Parameters.AddWithValue("@d8", TextBox3.Text).ToString()
            cmd.Parameters.AddWithValue("@d9", TextBox4.Text).ToString()
            cmd.Parameters.AddWithValue("@d10", TextBox5.Text).ToString()
            cmd.Parameters.AddWithValue("@d11", TextBox1.Text).ToString()
            cmd.ExecuteNonQuery()
            con.Close()
            MessageBox.Show("تمت عملية الحفظ بنجاح", "tiers", MessageBoxButtons.OK, MessageBoxIcon.Information)
            BtnDelete.Enabled = False
            BtnUpdate.Enabled = False
            reset()
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
        End Try
    End Sub
يظهر الخطا الموضح في الصورة 1


وعند الضغط مرة اخرى على زر تسجيل يظهر صورة 2




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

الطريقة الافضل للتواريخ المهمة هي كما فعلتها انت باستخدم MaskedTextBox
ولكنك نسيت أن تضع لMaskedTextBox2 وMaskedTextBox3 شرط تحقق كما فعلت لMaskedTextBox1


الخطا في الصورة الاولى انك لم تكتب التاريخ الخاص ب(تاريخ الانجاز) كما يضهر في الصورة


الخطا الثاني شرحوا حله الاخوه قبلي
الرد
تم الشكر بواسطة: baha , baha , asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة من اخوتي برنامج مبيعات سوبرماركت التعامل مع اكثر من زبون في نفس الوقت Mokhtar-mako 2 31 منذ 1 ساعه مضت
آخر رد: sendbad100
  ممكن مساعدة بارك الله فيكم crazykinko 2 61 30-11-20, 10:15 PM
آخر رد: crazykinko
  [VB.NET] اخطاء اثناء تشغيل البرنامج acc.ahmedyounis 5 264 21-11-20, 12:05 AM
آخر رد: اسامه الهرماوي
  [سؤال] الحفظ و التعديل و الحذف داخل datagridview and databases Sql server mo.fathi 1 142 10-11-20, 04:32 PM
آخر رد: mmali127
  [VB.NET] مساعدة في اضافة drm ل browser trakktour 0 82 08-11-20, 12:48 AM
آخر رد: trakktour
  رسالة خطأ في كود الحفظ aftfm 1 87 06-11-20, 10:09 PM
آخر رد: kiki
  ماذا يعني هذا الخطأ اثناء الحفظ sofiane-phy 5 314 02-11-20, 11:07 PM
آخر رد: sofiane-phy
  مساعدة في عرض الوحدة من فظلكم sofiane-phy 4 337 30-10-20, 12:58 AM
آخر رد: sofiane-phy
Question [VB.NET] ازرار التنقل و الاضافة و الحفظ و الحذف و التعديل في entity framework باستخدام visual vb 2010 + sql server 2008 3 295 28-10-20, 12:46 PM
آخر رد: Anas Mahmoud
Heart مساعدة شخصية mgr21002100 4 269 28-10-20, 01:44 AM
آخر رد: ابو روضة

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم