最近被问道了一个问题,就是如何对两个数据库里面的表进行联合查询。
后来我就用了最笨的方法实现了。希望看到的朋友能给个好的解决方法,只用一个连接字符串。最好是给个详细的教程。
首先有这样的两个数据库,每个数据库中有两个表。
表里面的数据也很简单,就是学生表和专业表,用专业号关联。
下面就在Winfrom的DataGridView上绑定数据,显示学生的编号、姓名、年龄和专业。效果如下:
由于对数据的操作我用到了linq to dataset 所以项目的.net 版本为3.5以上。
下面就是绑定数据的代码:
| 代码如下 | 复制代码 |
|
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 select new { sno = stu.Field sname=stu.Field sage = stu.Field scname = sc.Field };
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; } } |
|
《黎明杀机》开发商正开发新的《Serious Sam》游戏 由Devolver发行
超英派遣中心即将登陆Xbox Play Anywhere 深入了解这款独特而备受喜爱的冒险游戏
在《Hunter: The Reckoning – Deathwish》中怎么从猎物蜕变为猎手
《The Expanse: Osiris Reborn》——深入了解玩法 新同伴 封闭测试及发行窗口
Alien Deathstorm 科幻生存与动作结合 打造全新第一人称恐怖混合体验
宝可梦公司已在考虑未来可用口袋妖怪总数达到“或许一万只”
幸存者村庄2
怪可爱的店折相思菜单
怪可爱的店折相思菜单是一款画风治愈的模拟经营佳作,内置折相思菜单解锁多项便利功能
lol电竞经理人手游
lol电竞经理人手游让你可以成为职业的电竞经理人,在游戏中掌控游戏的走向!豪华阵
梦幻奶茶屋小游戏
梦幻奶茶屋是一款主打温馨治愈氛围的休闲经营作品,玩家将化身元气满满的奶茶店店长,
萌宠养成物语无限金币版
萌宠养成物语无限金币版是一款治愈系模拟养成游戏,以可爱卡通画风构建温馨虚拟世界,