تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] حذف اكثر من سطر محدد في جرد فيو
#1
السلام عليكم 
لو سمحتو مساعده بكود
تحديد اكثر من سطر في الجرد فيو 
وحذفها من قاعد البيانات بناء علي رقم الفاتورة
VB.net
sql server
الرد }}}
تم الشكر بواسطة:
#2
PHP كود :
في اللود
DataGridView1
.SelectionMode DataGridViewSelectionMode.FullRowSelect

في زر الحذف
For Each selectedRow As DataGridViewRow In DataGridView1.SelectedRows
    Dim invoiceNumber 
As String selectedRow.Cells("InvoiceNumberColumn").Value.ToString()

    ' استخدام رقم الفاتورة لحذف البيانات من قاعدة البيانات
    DeleteRecordFromDatabase(invoiceNumber)

    ' 
حذف الصف من جريد فيو
    DataGridView1
.Rows.Remove(selectedRow)
Next
----------------------
Sub DeleteRecordFromDatabase(invoiceNumber As String)
 
   ' قم بتنفيذ استعلام SQL أو الإجراء المخزن لحذف السجل

End Sub 
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}
#3
بصراحة ضاع من عمري الكثير و انا لم اعرف الاكواد اللتي توفر المزيد من الوقت او حتى عدد الاسطر بالكود.
تصور اني قبل كنت اكتب كود يمر على صفوف الداتاقريدفيو و كل صف محدد احذف بالكود بعدد الصفوف المحددة يعني تصور  الخوارزمية التالية:
command for delete  selrow1
command for delete  selrow2
command for delete  selrow3
و هكذا تكرار الاتصال بملف القاعدة مع  ان الامر لا يتطلب الا سطر واحد فقط بعد تجهيز نص يشمل كافة الارقام اللتي نستعلم بواسطتها و تكون بالصيغة التالية:
3,5,9

و حسب طلب الاخ نستخلصها من الصفوف المحددة ونبني النص اللذي يحمل ارقام الايدي كالتالي:
PHP كود :
Dim rowsint As Integer dgv1.SelectedRows.Count
 Dim arr
(rowsint 1) As String
 
For As Integer 0 To dgv1.SelectedRows.Count 1
     arr
(i) = dgv1.SelectedRows(i).Cells(0).Value
 Next
 Dim ids 
As String String.Join(","arr
و اجراء الحذف كالتالي:
PHP كود :
Private Sub del(ids As String)
 
   Using con As New OleDb.OleDbConnection(str)
 
       Using cm As New OleDb.OleDbCommand(""con)
 
           cm.CommandText "delete from tb where tid in (" ids ")"
 
           If con.State ConnectionState.Closed Then con.Open()
 
           Try
                cm
.ExecuteNonQuery()
 
           Catch ex As Exception
                MsgBox
("from del" vbNewLine Err.DescriptionMsgBoxStyle.Critical"error")
 
           Finally
                If con
.State ConnectionState.Open Then con.Close()
 
           End Try
 
       End Using
    End Using
    
End Sub 
دقق في سطر الاستعلام التالي:
PHP كود :
cm.CommandText "delete from tb where tid in (" ids ")" 
بصراحة مرة اخرى انا منذهل و متحسر على مافات من وقت (لكن ايضا بصراحة لا ادري هل هذه جديدة ام انها قديمة)

من لديه كود اختصار ياليت يدلنا عليه و شكر الله له
الملف المرفق 
Access Database
أقصد ان قاعدة البيانات من نوع أكسس


الملفات المرفقة
.zip   DeleteSelRows.zip (الحجم : 32.46 ك ب / التحميلات : 43)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: Taha Okla , ahmed_king2023 , ابو روضة
#4
مشكورين جميعا
هذا الكود لمن يحتاج

كود :
Private Sub Button5_Click111(sender As Object, e As EventArgs) Handles Button5.Click
If MessageBox.Show("هل أنت متأكد من مواصلة حذف جميع الفواتير المحددة؟", "تنبيه", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.No Then
Exit Sub
Else
con = New SqlConnection(cs)
If con.State = 1 Then con.Close()
con.Open()
cmd = New SqlCommand
For i As Integer = 0 To DgvQuick.SelectedRows.Count - 1

With cmd
.CommandType = CommandType.Text
Dim comd As New SqlCommand("Delete from QuickSale_Tbl Where Sale_ID=@Sale_ID", con)
comd.Parameters.Add("@Sale_ID", SqlDbType.Decimal).Value = DgvQuick.SelectedRows(i).Cells(0).Value
' comd.Parameters.Add("@Product_ID", SqlDbType.Int).Value = DgvPrd.Rows(i).Cells(0).Value
comd.ExecuteNonQuery()
End With

Next
con.Close()
LoadAllQuick_Sale()
End If
''

''
End Sub
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ممكن ايضاح اكثر لـ continu for justforit 6 295 05-11-25, 12:10 AM
آخر رد: justforit
Question [VB.NET] هناك سؤال يهم كل مبرمج الماذا برنامجك يظهر على بعض الشاشات اكثر دقه بشكل مصغر ومشوه Microformt 0 439 01-02-25, 03:48 PM
آخر رد: Microformt
  [VB.NET] استعراض بيانات في Datagridview واضافة جميع البيانات لجدول محدد sql skode 0 480 12-01-25, 12:50 AM
آخر رد: skode
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 656 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  اعاني من بطئ بتحميل البيانات داخل الداتا جيرد يوجد لدي اكثر من 100 الف صف RADOS 1 571 11-06-24, 07:42 PM
آخر رد: غزة العزة
  يوجد لدي بطئ في تحميل الصور داخل FlowLayoutPanel1 يوجد لدي اكثر من 100 صنف mohamedgadain61 1 443 02-06-24, 12:44 AM
آخر رد: غزة العزة
  اعاني من بطئ بتحميل البيانات داخل الداتا جيرد يوجد لدي اكثر من 100 الف صف moh61 4 675 27-05-24, 09:59 PM
آخر رد: غزة العزة
  استعلام الذين فات تاريخ التسديد 3 أيام أو اكثر محمد خيري 5 598 17-05-24, 02:38 AM
آخر رد: محمد خيري
  تقسيم الفانورة الي اكثر من ورقة عبدالكريم برشدان 1 369 20-04-24, 02:22 AM
آخر رد: عبدالكريم برشدان
  [سؤال] كود اظهار رساله في حال وجود الرقم في اكثر من عمود مبرمج صغير 1 6 940 09-01-24, 01:41 AM
آخر رد: Taha Okla

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


يقوم بقرائة الموضوع: