الرجاء المساعدة في استعلام بين عدة جداول بحيث أن الجدول الأول رئيسي كالآتي
البحث في أكثر من جدول بمعلومية حقل في الجدول الأول وحفظ الناتج في ملف نصي والصورة المرفقة توضح
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); أخي karimSoft أشكرك على اهتمامك وردك
ولكن أريد أن يكون البحث باستخدام الحقل A2 في الجدول الأول
مع العلم أن الجداول غير مستاوية في عدد الحقول
فقط الحقل الثاني موجود في كل الجداول
وجزاكم الله عنا كل خير
وضح ما الغرض من هذا
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); بارك الله فيك على اهتمامك
سأحاول أن أوضح الفكرة
لدي ثلاثة جداول غير متساوية في عدد الحقول مثلا:
الجدول الأول (T1) يحتوي على الحقول (F1 - F2 - F3 - F4)
الجدول الأول (T2) يحتوي على الحقول (d1 - d2 - d3 )
الجدول الأول (T3) يحتوي على الحقول (s1 - s2 - s3 - s4 - s5)
حيث أن الجدول الأول (T1) يحتوي على بيانات الموظفين الأساسية
حيث أن الجدول الأول (T2) يحتوي على بيانات إجازات الموظفين
حيث أن الجدول الأول (T3) يحتوي على بيانات مرتبات الموظفين
بحيث أن الحقول f2 , d2 , s2 تحتوي على رقم الموظف في الثلاث جداول
أريد إدراج جميع الموظفين في ملف نصي بحيث يكون سجل الموظف البيانات الآساسية ويليه سجل نفس الموظف الإجازات ويليه سجله المرتبات
TRY THIS CODE
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim con As New SqlConnection("Data Source=PC\SQLEXPRESS12;Initial Catalog=Alasmrat;Integrated Security=True")
Dim da As New SqlDataAdapter("spSocialGovernorateSelect", con)
da.SelectCommand.CommandType = CommandType.StoredProcedure
Dim ds As New DataSet
da.Fill(ds, "SocialGovernorate")
da.SelectCommand.CommandText = "spSocialDepartmentSelect"
da.Fill(ds, "SocialDepartment")
da.SelectCommand.CommandText = "spSocialUnitSelect"
da.Fill(ds, "SocialUnit")
Try
Dim stm = New StreamWriter(Server.MapPath("tblProducts.txt"), False)
Dim i As Integer
For Each SocialGovernorateRow As DataRow In ds.Tables("SocialGovernorate").Rows
Dim array() As Object = SocialGovernorateRow.ItemArray
For Each Item As Object In array
stm.Write(Item.ToString() + ControlChars.Tab)
Next Item
stm.WriteLine()
''''''''''''''''''''''''''''''''''''''''''''''''''
Dim SocialDepartmentRows() As DataRow = ds.Tables("SocialDepartment").Select("pnSocialGovernorateCode=" & SocialGovernorateRow(0).ToString())
For Each SocialDepartmentRow As DataRow In SocialDepartmentRows
Dim SocialDepartmentArray() As Object = SocialDepartmentRow.ItemArray
For Each Item As Object In SocialDepartmentArray
stm.Write(Item.ToString() + ControlChars.Tab)
Next Item
stm.WriteLine()
'''''''''''''''''''''''''''
Dim drs1() As DataRow = ds.Tables("SocialUnit").Select("pnSocialGovernorateCode=" & SocialGovernorateRow(0).ToString())
getData(stm, drs1)
stm.WriteLine()
'''''''''''''''''''''''''''
Next SocialDepartmentRow
stm.WriteLine()
stm.WriteLine()
Next SocialGovernorateRow
stm.Close()
Label1.Text = "job done!"
Catch ex As Exception
Label1.Text = ex.Message
End Try
End Sub
Public Sub getData(ByRef stm As StreamWriter, ByRef drs() As DataRow)
For Each oDataRow As DataRow In drs
Dim array() As Object = oDataRow.ItemArray
For Each Item As Object In array
stm.Write(Item.ToString() + ControlChars.Tab)
Next Item
stm.WriteLine()
Next oDataRow
End Sub
End Classسبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); أشكرك أخي على اهتمامك والرد على سؤالي وجعله الله في ميزان حسناتك ورحم الله والديك
عذرًا أخي فلم أفهم الكود فهمًا كاملا
إذا تكرمت أخي وشرحت لنا الكود وتطبيق الجداول عليه لتصل الفكرة وشكر الله سعيك وجزاك عنا كل خير
الجدول الأول (T1) يحتوي على الحقول (F1 - F2 - F3 - F4) بيانات الموظفين الأساسية
الجدول الأول (T2) يحتوي على الحقول (d1 - d2 - d3 ) بيانات الإجازات للموظفين
الجدول الأول (T3) يحتوي على الحقول (s1 - s2 - s3 - s4 - s5) بيانات المرتبات
بحيث أن الحقول f2 , d2 , s2 تحتوي على رقم الموظف في الثلاث جداول
أريد إدراج جميع الموظفين في ملف نصي بحيث يكون سجل الموظف البيانات الآساسية في السطر الأول
ويليه سجل نفس الموظف الإجازات في السطر الثاني
ويليه سجله المرتبات في السطر الثالث
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim con As New SqlConnection("Data Source=.;Initial Catalog=db;Integrated Security=True")
Dim da As New SqlDataAdapter("", con)
Dim ds As New DataSet
da.SelectCommand.CommandText = "select f1,f2,f3,f4 from t1"
da.Fill(ds, "t1")
da.SelectCommand.CommandText = "select d1,d2,d3 from t2"
da.Fill(ds, "t2")
da.SelectCommand.CommandText = "select s1,s2,s3,s4,s5 from t3"
da.Fill(ds, "t3")
Try
Dim stm = New StreamWriter("c:\tblProducts.txt", False)
Dim i As Integer
For Each t1Row As DataRow In ds.Tables("t1").Rows
Dim array() As Object = t1Row.ItemArray
For Each Item As Object In array
stm.Write(Item.ToString() + ControlChars.Tab)
Next Item
stm.WriteLine()
''''''''''''''''''''''''''''''''''''''''''''''''''
Dim t2Rows() As DataRow = ds.Tables("t2").Select("d2=" & t1Row(1).ToString())
For Each t2Row As DataRow In t2Rows
Dim t2Array() As Object = t2Row.ItemArray
For Each Item As Object In t2Array
stm.Write(Item.ToString() + ControlChars.Tab)
Next Item
stm.WriteLine()
'''''''''''''''''''''''''''
Dim drs1() As DataRow = ds.Tables("t3").Select("s2=" & t1Row(1).ToString())
getData(stm, drs1)
stm.WriteLine()
'''''''''''''''''''''''''''
Next t2Row
stm.WriteLine()
stm.WriteLine()
Next t1Row
stm.Close()
Label1.Text = "job done!"
Catch ex As Exception
Label1.Text = ex.Message
End Try
End Sub
Public Sub getData(ByRef stm As StreamWriter, ByRef drs() As DataRow)
For Each oDataRow As DataRow In drs
Dim array() As Object = oDataRow.ItemArray
For Each Item As Object In array
stm.Write(Item.ToString() + ControlChars.Tab)
Next Item
stm.WriteLine()
Next oDataRow
End Sub
End Class
Imports System.Data
Imports System.Data.SqlClient
Imports System.IO
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim con As New SqlConnection("Data Source=.;Initial Catalog=db;Integrated Security=True")
Dim da As New SqlDataAdapter("", con)
Dim ds As New DataSet
da.SelectCommand.CommandText = "select f1,f2,f3,f4 from t1"
da.Fill(ds, "t1")
da.SelectCommand.CommandText = "select d1,d2,d3 from t2"
da.Fill(ds, "t2")
da.SelectCommand.CommandText = "select s1,s2,s3,s4,s5 from t3"
da.Fill(ds, "t3")
Try
Dim stm = New StreamWriter("c:\tblProducts.txt", False)
Dim i As Integer
For Each t1Row As DataRow In ds.Tables("t1").Rows
Dim array() As Object = t1Row.ItemArray
For Each Item As Object In array
stm.Write(Item.ToString() + ControlChars.Tab)
Next Item
stm.WriteLine()
''''''''''''''''''''''''''''''''''''''''''''''''''
Dim t2Rows() As DataRow = ds.Tables("t2").Select("d2=" & t1Row(1).ToString())
For Each t2Row As DataRow In t2Rows
Dim t2Array() As Object = t2Row.ItemArray
For Each Item As Object In t2Array
stm.Write(Item.ToString() + ControlChars.Tab)
Next Item
stm.WriteLine()
'''''''''''''''''''''''''''
Dim drs1() As DataRow = ds.Tables("t3").Select("s2=" & t1Row(1).ToString())
getData(stm, drs1)
stm.WriteLine()
'''''''''''''''''''''''''''
Next t2Row
stm.WriteLine()
stm.WriteLine()
Next t1Row
stm.Close()
Label1.Text = "job done!"
Catch ex As Exception
Label1.Text = ex.Message
End Try
End Sub
Public Sub getData(ByRef stm As StreamWriter, ByRef drs() As DataRow)
For Each oDataRow As DataRow In drs
Dim array() As Object = oDataRow.ItemArray
For Each Item As Object In array
stm.Write(Item.ToString() + ControlChars.Tab)
Next Item
stm.WriteLine()
Next oDataRow
End Sub
End Classتم تعديل هذه المشاركة بواسطة KARIMSOFT في 29 أغسطس 2016 في 04:06
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama");