المشاركات : 94
المواضيع 57
الإنتساب : Dec 2019
السمعة :
0
الشكر: 30
تم شكره 74 مرات في 48 مشاركات
مشكلة في حذف سطر من جدول
الجدول اسمه documents
المفتاح id_doc
النوع Nvarchar
*************************
Private Sub DeleteRecord()
Try
Dim RowsAffected As Integer = 0
Connect()
con.Open()
Dim cq As String = "delete from documents where id_doc=" & TextBox1.Text & ""
cmd = New SqlCommand(cq)
cmd.Connection = con
MsgBox("sava")
RowsAffected = cmd.ExecuteNonQuery()
If RowsAffected > 0 Then
MessageBox.Show("تم حذف طرف من الجدول", "السجل", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
VoirAffaires1.DataGridView2.Refresh()
Else
MessageBox.Show("المعني غير موجود", "حاول", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
End If
If con.State = ConnectionState.Open Then
con.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try
End Sub
********************************************
تظهر رسالة الخطا التالي
********************************************
convertion failed when converting the nvarchar value '20/0001' to data type int
علما اني ان الجدول به ترقيم خاص على شكل سنة/ترقيم تسلسلي 20/0001 وهو من النوع NVARCHAR
السطر المراد حذفه ماخوذ من داتا قريد في فورم اخر
الرجاء المساعدة
المشاركات : 36
المواضيع 2
الإنتساب : Jan 2020
السمعة :
5
الشكر: 85
تم شكره 67 مرات في 34 مشاركات
01-02-20, 04:36 PM
(آخر تعديل لهذه المشاركة : 01-02-20, 04:37 PM {2} بواسطة egypt 2020.)
(01-02-20, 03:37 PM)tahaayyoub كتب : مشكلة في حذف سطر من جدول
الجدول اسمه documents
المفتاح id_doc
النوع Nvarchar
*************************
Private Sub DeleteRecord()
Try
Dim RowsAffected As Integer = 0
Connect()
con.Open()
Dim cq As String = "delete from documents where id_doc=" & TextBox1.Text & ""
cmd = New SqlCommand(cq)
cmd.Connection = con
MsgBox("sava")
RowsAffected = cmd.ExecuteNonQuery()
If RowsAffected > 0 Then
MessageBox.Show("تم حذف طرف من الجدول", "السجل", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
VoirAffaires1.DataGridView2.Refresh()
Else
MessageBox.Show("المعني غير موجود", "حاول", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
End If
If con.State = ConnectionState.Open Then
con.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try
End Sub
********************************************
تظهر رسالة الخطا التالي
********************************************
convertion failed when converting the nvarchar value '20/0001' to data type int
علما اني ان الجدول به ترقيم خاص على شكل سنة/ترقيم تسلسلي 20/0001 وهو من النوع NVARCHAR
السطر المراد حذفه ماخوذ من داتا قريد في فورم اخر
الرجاء المساعدة
حاول بالكود ة
كود :
Try
con.Open()
cmd.Connection = con
cmd.CommandText = "delete from documents where id_doc= @id_doc"
cmd.Parameters.Add(New SqlParameter("@id_doc", TextBox1.Text))
cmd.ExecuteNonQuery()
con.Close()
MsgBox("تم حذف البيانات")
Catch ex As Exception
MessageBox.Show("يوجد خطا اثناء الحذف..." & ex.Message, "رسالة خطا")
Finally
con.Close()
Exit Sub
End Try
المشاركات : 260
المواضيع 0
الإنتساب : Jan 2020
السمعة :
41
الشكر: 0
تم شكره 381 مرات في 213 مشاركات
(01-02-20, 03:37 PM)tahaayyoub كتب : مشكلة في حذف سطر من جدول
الجدول اسمه documents
المفتاح id_doc
النوع Nvarchar
*************************
Private Sub DeleteRecord()
Try
Dim RowsAffected As Integer = 0
Connect()
con.Open()
Dim cq As String = "delete from documents where id_doc=" & TextBox1.Text & ""
cmd = New SqlCommand(cq)
cmd.Connection = con
MsgBox("sava")
RowsAffected = cmd.ExecuteNonQuery()
If RowsAffected > 0 Then
MessageBox.Show("تم حذف طرف من الجدول", "السجل", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
VoirAffaires1.DataGridView2.Refresh()
Else
MessageBox.Show("المعني غير موجود", "حاول", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
End If
If con.State = ConnectionState.Open Then
con.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try
End Sub
********************************************
تظهر رسالة الخطا التالي
********************************************
convertion failed when converting the nvarchar value '20/0001' to data type int
علما اني ان الجدول به ترقيم خاص على شكل سنة/ترقيم تسلسلي 20/0001 وهو من النوع NVARCHAR
السطر المراد حذفه ماخوذ من داتا قريد في فورم اخر
الرجاء المساعدة
اذا كان نص فيجب وضع علامه ' ' قبل النص مثل
كود :
Dim cq As String = "delete from documents where id_doc='" & TextBox1.Text & "' "
المشاركات : 36
المواضيع 2
الإنتساب : Jan 2020
السمعة :
5
الشكر: 85
تم شكره 67 مرات في 34 مشاركات
(01-02-20, 04:46 PM)alsalamoni كتب : (01-02-20, 03:37 PM)tahaayyoub كتب : مشكلة في حذف سطر من جدول
الجدول اسمه documents
المفتاح id_doc
النوع Nvarchar
*************************
Private Sub DeleteRecord()
Try
Dim RowsAffected As Integer = 0
Connect()
con.Open()
Dim cq As String = "delete from documents where id_doc=" & TextBox1.Text & ""
cmd = New SqlCommand(cq)
cmd.Connection = con
MsgBox("sava")
RowsAffected = cmd.ExecuteNonQuery()
If RowsAffected > 0 Then
MessageBox.Show("تم حذف طرف من الجدول", "السجل", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
VoirAffaires1.DataGridView2.Refresh()
Else
MessageBox.Show("المعني غير موجود", "حاول", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
End If
If con.State = ConnectionState.Open Then
con.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try
End Sub
********************************************
تظهر رسالة الخطا التالي
********************************************
convertion failed when converting the nvarchar value '20/0001' to data type int
علما اني ان الجدول به ترقيم خاص على شكل سنة/ترقيم تسلسلي 20/0001 وهو من النوع NVARCHAR
السطر المراد حذفه ماخوذ من داتا قريد في فورم اخر
الرجاء المساعدة
اذا كان نص فيجب وضع علامه ' ' قبل النص مثل
كود :
Dim cq As String = "delete from documents where id_doc='" & TextBox1.Text & "' "
ماعتقدش هينفع لو نص محتاج تحذف الزائد عن المقطع
يعني لو الخلية CV
واخري CV1
كود :
Dim cq As String = "delete from documents where id_doc '" & TextBox1.Text.Trim & "' "
المشاركات : 260
المواضيع 0
الإنتساب : Jan 2020
السمعة :
41
الشكر: 0
تم شكره 381 مرات في 213 مشاركات
(01-02-20, 04:51 PM)egypt 2020 كتب : (01-02-20, 04:46 PM)alsalamoni كتب : (01-02-20, 03:37 PM)tahaayyoub كتب : مشكلة في حذف سطر من جدول
الجدول اسمه documents
المفتاح id_doc
النوع Nvarchar
*************************
Private Sub DeleteRecord()
Try
Dim RowsAffected As Integer = 0
Connect()
con.Open()
Dim cq As String = "delete from documents where id_doc=" & TextBox1.Text & ""
cmd = New SqlCommand(cq)
cmd.Connection = con
MsgBox("sava")
RowsAffected = cmd.ExecuteNonQuery()
If RowsAffected > 0 Then
MessageBox.Show("تم حذف طرف من الجدول", "السجل", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
VoirAffaires1.DataGridView2.Refresh()
Else
MessageBox.Show("المعني غير موجود", "حاول", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
End If
If con.State = ConnectionState.Open Then
con.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try
End Sub
********************************************
تظهر رسالة الخطا التالي
********************************************
convertion failed when converting the nvarchar value '20/0001' to data type int
علما اني ان الجدول به ترقيم خاص على شكل سنة/ترقيم تسلسلي 20/0001 وهو من النوع NVARCHAR
السطر المراد حذفه ماخوذ من داتا قريد في فورم اخر
الرجاء المساعدة
اذا كان نص فيجب وضع علامه ' ' قبل النص مثل
كود :
Dim cq As String = "delete from documents where id_doc='" & TextBox1.Text & "' "
ماعتقدش هينفع لو نص محتاج تحذف الزائد عن المقطع
يعني لو الخلية CV
واخري CV1
كود :
Dim cq As String = "delete from documents where id_doc '" & TextBox1.Text.Trim & "' "
هو قال ان النوع varchar ومعروف ان اي نص يتم وضعه بين ' '
لكن وضع شرط جميل وهو
اذا تاكد الحذف (واستخدم >0 ) يظهر رسالة التاكيد
لانه احيانا لا يتم الحذف لاسباب مختلفه
(01-02-20, 04:36 PM)egypt 2020 كتب : (01-02-20, 03:37 PM)tahaayyoub كتب : مشكلة في حذف سطر من جدول
الجدول اسمه documents
المفتاح id_doc
النوع Nvarchar
*************************
Private Sub DeleteRecord()
Try
Dim RowsAffected As Integer = 0
Connect()
con.Open()
Dim cq As String = "delete from documents where id_doc=" & TextBox1.Text & ""
cmd = New SqlCommand(cq)
cmd.Connection = con
MsgBox("sava")
RowsAffected = cmd.ExecuteNonQuery()
If RowsAffected > 0 Then
MessageBox.Show("تم حذف طرف من الجدول", "السجل", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
VoirAffaires1.DataGridView2.Refresh()
Else
MessageBox.Show("المعني غير موجود", "حاول", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
End If
If con.State = ConnectionState.Open Then
con.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try
End Sub
********************************************
تظهر رسالة الخطا التالي
********************************************
convertion failed when converting the nvarchar value '20/0001' to data type int
علما اني ان الجدول به ترقيم خاص على شكل سنة/ترقيم تسلسلي 20/0001 وهو من النوع NVARCHAR
السطر المراد حذفه ماخوذ من داتا قريد في فورم اخر
الرجاء المساعدة
حاول بالكود ة
كود :
Try
con.Open()
cmd.Connection = con
cmd.CommandText = "delete from documents where id_doc= @id_doc"
cmd.Parameters.Add(New SqlParameter("@id_doc", TextBox1.Text))
cmd.ExecuteNonQuery()
con.Close()
MsgBox("تم حذف البيانات")
Catch ex As Exception
MessageBox.Show("يوجد خطا اثناء الحذف..." & ex.Message, "رسالة خطا")
Finally
con.Close()
Exit Sub
End Try
انت اختصرت الكود بشكل جيد ولكن جعلت رسالة تاكيد الحذف تظهر سواء تم الحذف او لم يتم
وانت استخدمت الباراميتر وهذا هو الاستخدام الصحيح، احسنت
المشاركات : 36
المواضيع 2
الإنتساب : Jan 2020
السمعة :
5
الشكر: 85
تم شكره 67 مرات في 34 مشاركات
(01-02-20, 05:12 PM)alsalamoni كتب : (01-02-20, 04:51 PM)egypt 2020 كتب : (01-02-20, 04:46 PM)alsalamoni كتب : (01-02-20, 03:37 PM)tahaayyoub كتب : مشكلة في حذف سطر من جدول
الجدول اسمه documents
المفتاح id_doc
النوع Nvarchar
*************************
Private Sub DeleteRecord()
Try
Dim RowsAffected As Integer = 0
Connect()
con.Open()
Dim cq As String = "delete from documents where id_doc=" & TextBox1.Text & ""
cmd = New SqlCommand(cq)
cmd.Connection = con
MsgBox("sava")
RowsAffected = cmd.ExecuteNonQuery()
If RowsAffected > 0 Then
MessageBox.Show("تم حذف طرف من الجدول", "السجل", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
VoirAffaires1.DataGridView2.Refresh()
Else
MessageBox.Show("المعني غير موجود", "حاول", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
End If
If con.State = ConnectionState.Open Then
con.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try
End Sub
********************************************
تظهر رسالة الخطا التالي
********************************************
convertion failed when converting the nvarchar value '20/0001' to data type int
علما اني ان الجدول به ترقيم خاص على شكل سنة/ترقيم تسلسلي 20/0001 وهو من النوع NVARCHAR
السطر المراد حذفه ماخوذ من داتا قريد في فورم اخر
الرجاء المساعدة
اذا كان نص فيجب وضع علامه ' ' قبل النص مثل
كود :
Dim cq As String = "delete from documents where id_doc='" & TextBox1.Text & "' "
ماعتقدش هينفع لو نص محتاج تحذف الزائد عن المقطع
يعني لو الخلية CV
واخري CV1
كود :
Dim cq As String = "delete from documents where id_doc '" & TextBox1.Text.Trim & "' "
هو قال ان النوع varchar ومعروف ان اي نص يتم وضعه بين ' '
لكن وضع شرط جميل وهو
اذا تاكد الحذف (واستخدم >0 ) يظهر رسالة التاكيد
لانه احيانا لا يتم الحذف لاسباب مختلفه
(01-02-20, 04:36 PM)egypt 2020 كتب : (01-02-20, 03:37 PM)tahaayyoub كتب : مشكلة في حذف سطر من جدول
الجدول اسمه documents
المفتاح id_doc
النوع Nvarchar
*************************
Private Sub DeleteRecord()
Try
Dim RowsAffected As Integer = 0
Connect()
con.Open()
Dim cq As String = "delete from documents where id_doc=" & TextBox1.Text & ""
cmd = New SqlCommand(cq)
cmd.Connection = con
MsgBox("sava")
RowsAffected = cmd.ExecuteNonQuery()
If RowsAffected > 0 Then
MessageBox.Show("تم حذف طرف من الجدول", "السجل", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
VoirAffaires1.DataGridView2.Refresh()
Else
MessageBox.Show("المعني غير موجود", "حاول", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset1()
End If
If con.State = ConnectionState.Open Then
con.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try
End Sub
********************************************
تظهر رسالة الخطا التالي
********************************************
convertion failed when converting the nvarchar value '20/0001' to data type int
علما اني ان الجدول به ترقيم خاص على شكل سنة/ترقيم تسلسلي 20/0001 وهو من النوع NVARCHAR
السطر المراد حذفه ماخوذ من داتا قريد في فورم اخر
الرجاء المساعدة
حاول بالكود ة
كود :
Try
con.Open()
cmd.Connection = con
cmd.CommandText = "delete from documents where id_doc= @id_doc"
cmd.Parameters.Add(New SqlParameter("@id_doc", TextBox1.Text))
cmd.ExecuteNonQuery()
con.Close()
MsgBox("تم حذف البيانات")
Catch ex As Exception
MessageBox.Show("يوجد خطا اثناء الحذف..." & ex.Message, "رسالة خطا")
Finally
con.Close()
Exit Sub
End Try
انت اختصرت الكود بشكل جيد ولكن جعلت رسالة تاكيد الحذف تظهر سواء تم الحذف او لم يتم
وانت استخدمت الباراميتر وهذا هو الاستخدام الصحيح، احسنت
اشكرك علي ردك كلنا هنا للتعاون معا .
انا وضحتة الفكرة فقت ويقدر يزود البراميتر بالشكل الي حابب يضيفة .
المشاركات : 36
المواضيع 2
الإنتساب : Jan 2020
السمعة :
5
الشكر: 85
تم شكره 67 مرات في 34 مشاركات
جرب الكود دة ردا علي رسالتك
إختصارا لطلبك افضل طريقة للحذف ابعد عن موضوع التيكست خالص .
خلي المستخدم يحدد الصف قبل الحذف .
وعند الحذف استخدم الكود التالي :-
كود :
Try
Dim i As Integer
i = DataGridView1.CurrentRow.Index
'DataGridView1.Item(0, i).Value تاكد من انة المفتاح الخاص بالخلية المراد الحذف منها حيث 0 اول خلية بالصف حتي لو غير مرئية
con.Open()
cmd.Connection = con
cmd.CommandText = "delete from documents where id_doc= @id_doc"
cmd.Parameters.Add(New SqlParameter("@id_doc", DataGridView1.Item(0, i).Value))
cmd.ExecuteNonQuery()
con.Close()
MsgBox("تم حذف البيانات")
Catch ex As Exception
MessageBox.Show("يوجد خطا اثناء الحذف..." & ex.Message, "رسالة خطا")
Finally
con.Close()
Exit Sub
End Try
|