跨库查询能否实现?

boat2002w 2003-12-16 11:24:06
有两个库,1库里表1存的是编号与价格(价格表),2库里表1存的是编号与名称(名称表)。
如何显示出编号,名称,价格?
我能不能先返回一个dataset,里面有价格表,再把名称表返回,但我不知道如何将名称表加入到同一个dataset里。然后再执行复合查询满足我要的结果。我的这些方法是在一个类里写的。
帮忙!
...全文
74 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jn_sly 2003-12-16
  • 打赏
  • 举报
回复
lib1的t1 字段 s1
lib2的t2 字段 s2
select * from lib1..t1 a ,lib..t2 b where a.s1=b.s2

gannet 2003-12-16
  • 打赏
  • 举报
回复
dataset的tables.add方法可以加入多个表,然后用dataview得到想得到数据。
boat2002w 2003-12-16
  • 打赏
  • 举报
回复
To::FBwwg(精锐轻骑) ( )
我不知道如何添加?最好有代码
bankliu 2003-12-16
  • 打赏
  • 举报
回复
跨库查询可以实现的,access的,sql都可以,但是手工添加的代码量多些。
FBwwg 2003-12-16
  • 打赏
  • 举报
回复
也可以,dataset对象其实就是一个数据缓存,可以打开第二个数据库添加指定的表
boat2002w 2003-12-16
  • 打赏
  • 举报
回复
access的可以吗?
sunyong603 2003-12-16
  • 打赏
  • 举报
回复
可以,你需要指明库、所有者、表
如:[库名].[dbo].[表名]
其中dbo为所有者,通常所有者是dbo
这是SQL Server中的用法
boat2002w 2003-12-16
  • 打赏
  • 举报
回复
跨库,access的
KimSoon98 2003-12-16
  • 打赏
  • 举报
回复
做个视图,select 名称,价格 from 1库.dbo.价格表,2库.dbo.名称表 where ....
ismezy2002 2003-12-16
  • 打赏
  • 举报
回复
跨库还是跨表?什么数据库?
bankliu 2003-12-16
  • 打赏
  • 举报
回复
你首先要明白概念:
一个dataset可以对应多个DataAdapter,每个DataAdapter对应其连接,可以是同一个Connection也可以是不同的Connection,
在一个dataset中可以包含多个table,对于不同种类的数据库,想必你的table也不同,就要放在不同的table中,
建立了dataset后,你需要添加table之间的关系(当然也可以不必要)
最后建立查询,就可以了
火电 2003-12-16
  • 打赏
  • 举报
回复

use 数据库1

go

select * from * where *

go

use 数据库2

go

select * from * where *

go

sybase 可以
不知道access中是否行
没有试验过

boat2002w 2003-12-16
  • 打赏
  • 举报
回复
DataSet ds1 = GetDataSet //自己写的返回dataset方法(sqlText1,ProDataBase,"price");
DataTable glj = (new GongLJData()).GetSqlReturn(sqlText2,DingEDataBase); ////自己写的返回dataset方法
ds1.Tables.Add(glj);

string sqlText3 = "SELECT glj.工料机编号,glj.工料机名称,glj.单位,glj.规格,glj.类型,price.供应价,price.预算价,price.市场价,price.询价日期,price.供应商 FROM glj,price WHERE price.价格文件编号 = "+PriceFileId+" AND price.工料机编号 = glj.工料机编号";

OleDbCommand Comm = connGongLJ.CreateCommand();
Comm.CommandText = sqlText3;
OleDbDataAdapter DAdaper = new OleDbDataAdapter();
DAdaper.SelectCommand = Comm;

DataSet ds = new DataSet();
DAdaper.Fill(ds,"table1");
DataTable dt = new DataTable();
dt = ds.Tables["table1"];

return dt;
报措说“DataTable 已属于另一个 数据集“
如何做?高手帮忙呀!

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧