using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Linq; namespace LinkTwoData { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string strcon1 = @"Data Source=FENG-PCSQLEXPRESS;Initial Catalog=test1;User ID=sa;PassWord=sa2008"; string strcon2 = @"Data Source=FENG-PCSQLEXPRESS;Initial Catalog=test2;User ID=sa;PassWord=sa2008"; private void Form1_Load(object sender, EventArgs e) { SqlDataAdapter sda1 = new SqlDataAdapter("select * from stu1",strcon1); SqlDataAdapter sda2 = new SqlDataAdapter("select * from stu1", strcon2); DataSet ds = new DataSet(); sda1.Fill(ds,"stu1"); sda2.Fill(ds, "stu2"); var query = from stu in ds.Tables["stu1"].AsEnumerable() from sc in ds.Tables["stu2"].AsEnumerable() where stu.Field<int>("sc") == sc.Field<int>("sc") select new { sno = stu.Field<int>("sno",DataRowVersion.Original), sname=stu.Field<string>("sname",DataRowVersion.Original), sage = stu.Field<int>("sage", DataRowVersion.Original), scname = sc.Field<string>("scname", DataRowVersion.Original) }; DataTable dt = new DataTable(); dt.Columns.Add("sno", typeof(int)); dt.Columns.Add("sname", typeof(string)); dt.Columns.Add("sage", typeof(string)); dt.Columns.Add("scname", typeof(string)); foreach (var item in query) { DataRow newRow = dt.NewRow(); newRow["sno"] = item.sno; newRow["sname"] = item.sname; newRow["sage"] = item.sage; newRow["scname"] = item.scname; dt.Rows.Add(newRow); } dataGridView1.DataSource = dt.DefaultView; } } } |