تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ماهي الطريقة الصحيحة والسريعة لجلب بيانات من قاعدة البيانات داخل Private Sub
#1
السلام عليكم ورحمة الله 

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

ارفقت لكم الكود ادناه ... هل من حل يقوم بتسريع العمل داخل الفورم دون تأخير مجرد فتح الفورم يقوم بجلب البيانات وشكرا 


PHP كود :
 Private Sub Orders_Load(sender As ObjectAs EventArgsHandles Me.Load
        notee
()
        landryInfo()
        SelectAll_Customers()
        GetSub_User()
         LoadCategory()
        LoadData()
    End Sub


 Private Sub notee
()
        Dim dp As New OleDbDataAdapter("SELECT ID, notee FROM notess"conn)
        Dim dt As DataTable = New DataTable()
        dp.Fill(dt)
        CheckedListBox1.DataSource dt
        CheckedListBox1
.DisplayMember "notee"
        CheckedListBox1.ValueMember "ID"
    End Sub


 Private Sub landryInfo
()
        Dim dp As New OleDbDataAdapter("select * from landryInfo where ID =" " "conn)
        Dim ds As New DataSet
        dp
.Fill(ds)
        If ds.Tables(0).Rows.Count <> 0 Then
            statusvat 
ds.Tables(0).Rows(0).Item("Status_vat")
            valuvat ds.Tables(0).Rows(0).Item("Value_VAT")
            paytype ds.Tables(0).Rows(0).Item("type")
            typevat ds.Tables(0).Rows(0).Item("Type_VAT")
        End If
    End Sub



  
Private Sub SelectAll_Customers()
        Dim Cmmd As New OleDbCommand("Select mobilenumber,customername from Customers1"conn)
        Dim da As New OleDbDataAdapter(Cmmd)
        Dim dt As New DataSet
        da
.Fill(dt)
        Dim cloumn1 As New AutoCompleteStringCollection
        Dim cloumn2 
As New AutoCompleteStringCollection
        Dim i 
As Integer
        
For 0 To dt.Tables(0).Rows.Count 1
            cloumn1
.Add(dt.Tables(0).Rows(i)("mobilenumber").ToString())
        Next
        TextBox11
.AutoCompleteSource AutoCompleteSource.CustomSource
        TextBox11
.AutoCompleteMode AutoCompleteMode.SuggestAppend
        TextBox11
.AutoCompleteCustomSource cloumn1
      End Sub



        
Private Sub GetSub_User()

        Dim dp As New OleDbDataAdapter("Select * FROM Sub where ID =" ""conn)
        Dim ds As New DataSet
        dp
.Fill(ds)
        If ds.Tables(0).Rows.Count <> 0 Then
            subscription 
ds.Tables(0).Rows(0).Item("Sub_Customer")
            Tailor ds.Tables(0).Rows(0).Item("Tailor")
            Laundery ds.Tables(0).Rows(0).Item("Laundery")
        End If
   

        Dim dp1 
As New OleDbDataAdapter("Select ID, user_name FROM login"conn)
        conn.Open()
        Dim dt As DataTable = New DataTable()
        dp1.Fill(dt)
        ComboBox1.DataSource dt
        ComboBox1
.DisplayMember "user_name"
        ComboBox1.ValueMember "user_name"
        ComboBox2.DataSource dt
        ComboBox2
.DisplayMember "ID"
        ComboBox2.ValueMember "ID"
        conn.Close()
    End Sub


  
Private Sub LoadCategory()
        FlowLayoutPanel3.Controls.Clear()
        Using Cmd As New OleDbCommand("select * from Proudect_items"conn)
            conn.Open()
            rdr Cmd.ExecuteReader
            
While rdr.Read
                Dim button 
= New Button
                button
.Font = New Font("Tahoma"10FontStyle.Bold)
                button.Width 125
                button
.Height 60
                button
.Text rdr.Item("item_NameA").ToString
                button
.Tag rdr.Item("ID").ToString
                button
.FlatStyle FlatStyle.Flat
                button
.BackColor Color.FromArgb(724156)
                button.ForeColor Color.White
                FlowLayoutPanel3
.Controls.Add(button)
                button.Cursor Cursors.Hand
                AddHandler button
.ClickAddressOf button_Click
            End 
While
        End Using
        rdr
.Close()
        conn.Close()
        FlowLayoutPanel3.AutoScroll True
    End Sub


 Private Sub LoadData
()
        FlowLayoutPanel1.Controls.Clear()
        If _action "StartUp" Then Cmd = New OleDbCommand("SELECT pic,ID,ProductNameA,ProductNameE from Proudect Where ProductNameA like '%" TextSerch.Text "%' "conn)
            If _action "Search1" Then Cmd = New OleDbCommand("SELECT pic,ID,ProductNameA,ProductNameE from Proudect Where id_Proudect_items =" _query1 ""conn)
            conn.Open()
            rdr Cmd.ExecuteReader(CommandBehavior.CloseConnection)
            While rdr.Read
                Dim len 
As Long rdr.GetBytes(00Nothing00)
                Dim array(CInt(len)) As Byte
                rdr
.GetBytes(00, array, 0CInt(len))
                pic = New PictureBox
                pic
.Width 150
                pic
.Height 150
                pic
.BackgroundImageLayout ImageLayout.Stretch
                pic
.Tag rdr.Item("ID").ToString
                AddHandler pic
.ClickAddressOf lblD_Click
                
'-----------------------------------------------------
                lblD1 = New Label
                lblD1.Font = New Font("Tahoma", 10, FontStyle.Bold)
                lblD1.ForeColor = Color.FromArgb(72, 4, 156)
                lblD1.BackColor = Color.GhostWhite
                lblD1.Dock = DockStyle.Top
                lblD1.Tag = rdr.Item("ID").ToString
                lblD1.Text = rdr.Item("ID").ToString
                '
-----------------------------------------------------
                lblD = New Label
                lblD
.Font = New Font("Tahoma"9FontStyle.Bold)
                lblD.ForeColor Color.FromArgb(724156)
                lblD.BackColor Color.GhostWhite
                lblD
.Dock DockStyle.Bottom
                lblD
.Tag rdr.Item("ID").ToString
                lblD
.Text rdr.Item("ProductNameE").ToString "-" rdr.Item("ProductNameA").ToString
                AddHandler lblD
.ClickAddressOf lblD_Click
                
'-----------------------------------------------------
                Dim ms As New System.IO.MemoryStream(array)
                Dim bitmap As New System.Drawing.Bitmap(ms)
                pic.BackgroundImage = bitmap
                '
-----------------------------------------------------
                pic.Controls.Add(lblD)
                pic.Controls.Add(lblD1)
                FlowLayoutPanel1.Controls.Add(pic)
                '--------------------------------------------------------------------------------------------------------------
            End While
            FlowLayoutPanel1.AutoScroll = True
            rdr.Close()
            conn.Close()
    End Sub 
الرد }}}
تم الشكر بواسطة:
#2
PHP كود :
Private Async Sub Orders_Load(sender As ObjectAs EventArgsHandles Me.Load
    Await Task
.WhenAll(
 
       Task.Run(Sub() notee()),
 
       Task.Run(Sub() landryInfo()),
 
       Task.Run(Sub() SelectAll_Customers()),
 
       Task.Run(Sub() GetSub_User()),
 
       Task.Run(Sub() LoadCategory()),
 
       Task.Run(Sub() LoadData())
 
   )
End Sub
Private Sub notee()
 
   Using dp As New OleDbDataAdapter("SELECT ID, notee FROM notess"conn)
 
       Dim dt As New DataTable()
 
       dp.Fill(dt)
 
       CheckedListBox1.DataSource dt
        CheckedListBox1
.DisplayMember "notee"
 
       CheckedListBox1.ValueMember "ID"
 
   End Using
End Sub
Private Sub landryInfo()
 
   Using dp As New OleDbDataAdapter("SELECT Status_vat, Value_VAT, type, Type_VAT FROM landryInfo WHERE ID = 5"conn)
 
       Dim ds As New DataSet()
 
       dp.Fill(ds)
 
       If ds.Tables(0).Rows.Count <> 0 Then
            statusvat 
ds.Tables(0).Rows(0).Item("Status_vat")
 
           valuvat ds.Tables(0).Rows(0).Item("Value_VAT")
 
           paytype ds.Tables(0).Rows(0).Item("type")
 
           typevat ds.Tables(0).Rows(0).Item("Type_VAT")
 
       End If
 
   End Using
End Sub
Private Sub SelectAll_Customers()
 
   Using Cmmd As New OleDbCommand("SELECT mobilenumber, customername FROM Customers1"conn)
 
       Using da As New OleDbDataAdapter(Cmmd)
 
           Dim dt As New DataSet()
 
           da.Fill(dt)
 
           Dim cloumn1 As New AutoCompleteStringCollection()
 
           For Each row As DataRow In dt.Tables(0).Rows
                cloumn1
.Add(row("mobilenumber").ToString())
 
           Next
            TextBox11
.AutoCompleteSource AutoCompleteSource.CustomSource
            TextBox11
.AutoCompleteMode AutoCompleteMode.SuggestAppend
            TextBox11
.AutoCompleteCustomSource cloumn1
        End Using
    End Using
End Sub
Private Sub GetSub_User()
 
   Using dp As New OleDbDataAdapter("SELECT Sub_Customer, Tailor, Laundery FROM Sub WHERE ID = 1"conn)
 
       Dim ds As New DataSet()
 
       dp.Fill(ds)
 
       If ds.Tables(0).Rows.Count <> 0 Then
            subscription 
ds.Tables(0).Rows(0).Item("Sub_Customer")
 
           Tailor ds.Tables(0).Rows(0).Item("Tailor")
 
           Laundery ds.Tables(0).Rows(0).Item("Laundery")
 
       End If
 
   End Using

    Using dp1 
As New OleDbDataAdapter("SELECT ID, user_name FROM login"conn)
 
       Dim dt As New DataTable()
 
       dp1.Fill(dt)
 
       ComboBox1.DataSource dt
        ComboBox1
.DisplayMember "user_name"
 
       ComboBox1.ValueMember "user_name"
 
       ComboBox2.DataSource dt
        ComboBox2
.DisplayMember "ID"
 
       ComboBox2.ValueMember "ID"
 
   End Using
End Sub
Private Sub LoadCategory()
 
   FlowLayoutPanel3.Controls.Clear()
 
   Using Cmd As New OleDbCommand("SELECT ID, item_NameA FROM Proudect_items"conn)
 
       conn.Open()
 
       Using rdr Cmd.ExecuteReader()
 
           While rdr.Read()
 
               Dim button = New Button() With {
 
                   .Font = New Font("Tahoma"10FontStyle.Bold),
 
                   .Width 125,
 
                   .Height 60,
 
                   .Text rdr("item_NameA").ToString(),
 
                   .Tag rdr("ID").ToString(),
 
                   .FlatStyle FlatStyle.Flat,
 
                   .BackColor Color.FromArgb(724156),
 
                   .ForeColor Color.White
                
}
 
               FlowLayoutPanel3.Controls.Add(button)
 
               button.Cursor Cursors.Hand
                AddHandler button
.ClickAddressOf button_Click
            End 
While
 
       End Using
    End Using
    FlowLayoutPanel3
.AutoScroll True
End Sub
Private Sub LoadData()
 
   FlowLayoutPanel1.Controls.Clear()
 
   If _action "StartUp" Then
        Cmd 
= New OleDbCommand("SELECT pic, ID, ProductNameA, ProductNameE FROM Proudect WHERE ProductNameA LIKE @searchText"conn)
 
       Cmd.Parameters.AddWithValue("@searchText""%" TextSerch.Text "%")
 
   ElseIf _action "Search1" Then
        Cmd 
= New OleDbCommand("SELECT pic, ID, ProductNameA, ProductNameE FROM Proudect WHERE id_Proudect_items = @query"conn)
 
       Cmd.Parameters.AddWithValue("@query"_query1)
 
   End If

 
   conn.Open()
 
   Using rdr Cmd.ExecuteReader(CommandBehavior.CloseConnection)
 
       While rdr.Read()
 
           Dim len As Long rdr.GetBytes(00Nothing00)
 
           Dim array(CInt(len)) As Byte
            rdr
.GetBytes(00, array, 0CInt(len))
 
           pic = New PictureBox() With {
 
               .Width 150,
 
               .Height 150,
 
               .BackgroundImageLayout ImageLayout.Stretch,
 
               .Tag rdr("ID").ToString()
 
           }
 
           AddHandler pic.ClickAddressOf lblD_Click
            
'-----------------------------------------------------
            lblD1 = New Label() With {
                .Font = New Font("Tahoma", 10, FontStyle.Bold),
                .ForeColor = Color.FromArgb(72, 4, 156),
                .BackColor = Color.GhostWhite,
                .Dock = DockStyle.Top,
                .Tag = rdr("ID").ToString(),
                .Text = rdr("ID").ToString()
            }
            '
-----------------------------------------------------
 
           lblD = New Label() With {
 
               .Font = New Font("Tahoma"9FontStyle.Bold),
 
               .ForeColor Color.FromArgb(724156),
 
               .BackColor Color.GhostWhite,
 
               .Dock DockStyle.Bottom,
 
               .Tag rdr("ID").ToString(),
 
               .Text rdr("ProductNameE").ToString() & "-" rdr("ProductNameA").ToString()
 
           }
 
           AddHandler lblD.ClickAddressOf lblD_Click
            
'-----------------------------------------------------
            Dim ms As New System.IO.MemoryStream(array)
            Dim bitmap As New System.Drawing.Bitmap(ms)
            pic.BackgroundImage = bitmap
            '
-----------------------------------------------------
 
           pic.Controls.Add(lblD)
 
           pic.Controls.Add(lblD1)
 
           FlowLayoutPanel1.Controls.Add(pic)
 
       End While
 
   End Using
    FlowLayoutPanel1
.AutoScroll True
End Sub 
لو كل مسلم رمى دلو ماء لغرقت إسرائيل 
الرد }}}
تم الشكر بواسطة: mohamedgadain61
#3
لدي 3 اخطاء بعد التعديل على الكود على جميع ال sub المتصلة بقاعدة البيانات

مرفق لك الصور


الملفات المرفقة صورة/صور
           
الرد }}}
تم الشكر بواسطة:
#4
ارفق المشروع الذي تعمل عليه أو هلى تلاقي الفورم التي تسبب مشاكل  ليتم تعديلها لك

ارفق المشروع الذي تعمل عليه أو   الفورم التي تسبب مشاكل  ليتم تعديلها لك
لو كل مسلم رمى دلو ماء لغرقت إسرائيل 
الرد }}}
تم الشكر بواسطة: mohamedgadain61
#5
السلام عليكم اخي الغالي المشروع مرفق لك عبر ميديا فير عشان حجم كبير

مرفق لك رابط التنزيل وتحياتي لك

https://www.mediafire.com/file/4lj34c7i9...t.rar/file
الرد }}}
تم الشكر بواسطة:
#6
مرحبا اخي الغالي المعذرة منك كلمة المرور لقاعدة البيانات هي : 0557
كلمة المرور لقاعدة البيانات موجودة داخل كود الاتصال لقاعدة البيانات في ال App.config
الرد }}}
تم الشكر بواسطة:
#7
قاعدة البيانات معطوبة
لو كل مسلم رمى دلو ماء لغرقت إسرائيل 
الرد }}}
تم الشكر بواسطة:
#8
السلام عليكم شغالة يا غالي تفتح بمايكروسوفت 2019 ...

 والحين ارفقتها لك مرة ثانية جرب والغيت الباسورد منها 

رابط التحميل : https://www.mediafire.com/file/tzas1mqjz...accdb/file


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#9
هذا الكود غير كامل تاكد من الاكواد 

كود :
Using dp As New OleDbDataAdapter("SELECT Sub_Customer, Tailor, Laundery FROM Sub WHERE ID = 1", conn)
           Dim ds As New DataSet()
           dp.Fill(ds)
           If ds.Tables(0).Rows.Count <> 0 Then
               subscription = ds.Tables(0).Rows(0).Item("Sub_Customer")
               Tailor = ds.Tables(0).Rows(0).Item("Tailor")
               Laundery = ds.Tables(0).Rows(0).Item("Laundery")
           End If
       End Using

لا يوجد في قاعدة البيانات جدول باسم Sub من اين ستجلب المعلومات    
عليك تجربة المثال و تعديل الجدول وانا جاهز للمساعدة

من هنا
لو كل مسلم رمى دلو ماء لغرقت إسرائيل 
الرد }}}
تم الشكر بواسطة:
#10
اولا شاكر لك جدا على الاهتمام وثانيا المعذرة منك ي غالي الجدول موجود لدي .. ولاكن عندما قمت بعمل نموذج مصغر نسيت انقله المعذرة ... ولاكن هو موجود لدي والخطا موجود .


الرابط الخاص بك لايعمل >
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] طريقة توسيط النص داخل اداة comboBox سمير1404 7 3,851 24-08-25, 01:01 PM
آخر رد: أبو خالد الشكري
  تصدير البيانات إلى ملف RTF مصمم هاوي 4 820 15-08-25, 04:13 PM
آخر رد: أبو خالد الشكري
  [VB.NET] ما هو أفضل موقع استضافة لقواعد البيانات MSSQL ؟ mmaalmesry 0 794 16-07-25, 10:45 PM
آخر رد: mmaalmesry
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,209 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  مشكلة في حفظ البيانات مصمم هاوي 2 1,019 30-06-25, 08:51 AM
آخر رد: مصمم هاوي
  بطء في جلب البيانات مصمم هاوي 9 991 08-05-25, 07:51 AM
آخر رد: مصمم هاوي
  [Acces2007] مشكلة ملف قاعدة بيانات access للقراءة فقط mmaalmesry 11 1,450 29-04-25, 08:55 PM
آخر رد: mmaalmesry
  تعديل كود تحديث البيانات مصمم هاوي 1 780 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 695 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 658 24-04-25, 12:58 PM
آخر رد: foad8920

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


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