جميل جداً لكن سامحنى غير قادر على اعادة رفع المشروع
حيث ان المشروع المرفق الاصدار 9
على اى حال ساشرح ما التعديلات التى ستقوم بفعلها بكل يسر وبدون اى مشكلة
تعال على السطر التالى
كود :
Dim ds As New DataSet
واستبدله بهذا السطر
كود :
Dim ds, ds2 As New DataSet
ناتى على السطر التالى
كود :
Dim da As New OleDbDataAdapter
واستبدله بهذا السطر
كود :
Dim da, da2 As New OleDbDataAdapter
الان ناتى على هذا السطر
كود :
Dim req As String = "SELECT id,name,code,group from emp"
اسفل منه مباشراً قم باضافة هذا السطر
كود :
Dim raq As String = "SELECT Top 3 id,name,code,group from emp ORDER BY Rnd(-(100000*id)*Time())"
الان تعال فى حدث الزر وهو Button1_Click
قم باضافة هذا الكود به
كود :
If Conn.State = ConnectionState.Open Then Conn.Close()
ds2.Clear()
Dim comd As New OleDbCommandBuilder(da2)
da2.SelectCommand = New OleDbCommand(raq, Conn)
da2.Fill(ds2, "emp")
Me.DataGridView2.DataSource = ds2.Tables("emp")
هل تلاحظ شئ
تماماً كده انا طبقت كودك فى اللود الخاص بالفورم لجلب البيانات من قاعدة البيانات
ليقوم بنفس الامر فى الزر ليقوم باستدعاء نفس الامر فى الداتا جريد 2 لكن كل ما تم هو
تغيير كود الاستعلام ليقوم بجلب
3 بشكل عشوائي من خلال تحويل كود الاستعلام الافتراضى
PHP كود :
SELECT id,name,code,group from emp
الى ان يكون بهذا الشكل
كود :
SELECT Top 3 id,name,code,group from emp ORDER BY Rnd(-(100000*id)*Time())
الان كل ما عليك اذا كنت تريد عرض 5 بدلاً من 3
ستقوم بتغيير رقم 3 فى كود الاستعلام لتجعله 5 فقط ليس اكثر
الامر الان اصبح بسيط اليس كذلك
كود الفورم كاملاً للمشروع بعد التعديل واضافة الكود الذى تم شرحه بالاعلى
كود :
Imports System.Data.OleDb
Public Class Form1
Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" & Application.StartupPath & "\emp.mdb")
Dim dr As OleDbDataReader
Dim ds, ds2 As New DataSet
Dim da, da2 As New OleDbDataAdapter
Dim cmd As OleDbCommand
Dim comb As OleDbCommandBuilder
Dim req As String = "SELECT id,name,code,group from emp"
Dim raq As String = "SELECT Top 3 id,name,code,group from emp ORDER BY Rnd(-(100000*id)*Time())"
Dim dt As New DataTable
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Conn.State = ConnectionState.Open Then Conn.Close()
ds.Clear()
Dim comd As New OleDbCommandBuilder(da)
da.SelectCommand = New OleDbCommand(req, Conn)
da.Fill(ds, "emp")
Me.DataGridView1.DataSource = ds.Tables("emp")
'Dim DataGridView2 As New DataGridView
'Dim DataTable2 As New DataTable
'DataGridView2.DataSource = DataTable2
'DataGridView2.Columns.Add("aaa", "الاسم")
'DataGridView2.Columns(0).HeaderText = "الرقم"
'DataGridView2.Columns(1).HeaderText = "الاســم"
'DataGridView2.Columns(2).HeaderText = "الهاتـف"
'DataGridView2.Columns(3).HeaderText = "الجـوال"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Conn.State = ConnectionState.Open Then Conn.Close()
ds2.Clear()
Dim comd As New OleDbCommandBuilder(da2)
da2.SelectCommand = New OleDbCommand(raq, Conn)
da2.Fill(ds2, "emp")
Me.DataGridView2.DataSource = ds2.Tables("emp")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub DataGridView2_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)
End Sub
End Class
تحياتى لك
وتمنياتى لك التوفيق