请教OleDbDataAdapter.fill() 多个表的情况

qinhuaiuser 2009-07-22 04:33:11
我有两个表,一个是table1(t1_id,t1_name),另一个表是table2(t2_id,t2_name,t1_id);
这里table2表中的字段t1_id是与table1有关的外键,我要做的是输入t1_name找到t1_id,然后依据t1_id在table2中找到外键为t1_id的行,并且输出。


我这里有两个问题:1.OleDbDataAdapter.fill()参数有两个,一个是DataSet,一个是表名字符串,从这里感觉是这个函数只能对应一个表,我的问题是,能不能关联两个表?
2.下面是一部分代码,标记红色的部分是个疑问:可以用IN语句么?怎么做能够利用从table1中查的的结果?


我的做法是利用了DataSet,假设已经建立了数据库连接,
DataSet dsProvince = new DataSet();

string str1 = "Select t1_id from table1 where t1_name='" + textBox_country.Text + "'";
OleDbDataAdapter adapCountry = new OleDbDataAdapter(str1, thisCon);
OleDbCommandBuilder dsBuilder = new OleDbCommandBuilder(adapCountry);
adapCountry.Fill(dsProvince, "table1");

string str2 = "Select * from table2 where t1_id in XXXX ";
OleDbDataAdapter adapProvince = new OleDbDataAdapter(str2, thisCon);
OleDbCommandBuilder comBuilder = new OleDbCommandBuilder(adapProvince);
adapProvince.Fill(dsProvince, "table2");
...全文
316 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hecker728 2009-07-24
  • 打赏
  • 举报
回复
同上

表之间的逻辑通过sql语句来完成。来得到一张表。

OleDbDataAdapter.fill()只能关联一张表的
wuyq11 2009-07-22
  • 打赏
  • 举报
回复
Select * from table2 where t1_id in (Select t1_id from table1 where t1_name='" + textBox_country.Text + "')";
执行一次或通过DataRelation实现关联
using (OleDbConnection con = new OleDbConnection(cn))
{
DataSet ds = new DataSet();
OleDbDataAdapter dr1 = new OleDbDataAdapter("select * from A", con);
OleDbDataAdapter dr2 = new OleDbDataAdapter("select * from B", con);
dr1.Fill(ds, "tb1");
dr2.Fill(ds, "tb2");
ds.Relations.Add("", ds.Tables[0].Columns["id"], ds.Tables[1].Columns["ID2"]);


}

feifeiyiwen 2009-07-22
  • 打赏
  • 举报
回复
up
zgke 2009-07-22
  • 打赏
  • 举报
回复
使用

Select A.*,B.* from table1 A left join table2 B on B.t1_id=A.t1_id
where A.t1_id=???

内容概要:本文围绕“【SCUC】N-1故障集+安全约束机组组合研究(Matlab代码实现)”展开,系统探讨电力系统在N-1故障场景下的安全约束机组组合(SCUC)问题,旨在实现系统安全性与运行经济性的协同优化。研究通过构建包含机组启停、出力计划、潮流约束、备用容量及N-1安全准则的数学模型,结合混合整数线性规划等优化算法,利用Matlab平台完成仿真求解,并引入YALMIP等建模工具提升建模效率。文档提供了完整的代码实现方案与测试案例,涵盖故障集的生成与处理方法,帮助用户掌握鲁棒性和分布鲁棒优化的基本思想,适用于电力系统安全校核与调度决策支持。; 适合人群:电力系统及相关专业的研究生、从事电力调度、能源优化的科研人员及工程技术人员。; 使用场景及目标:① 掌握N-1安全准则在机组组合中的建模方法与实现流程;② 开展安全约束机组组合(SCUC)与安全约束经济调度(SCED)的仿真分析;③ 利用Matlab/YALMIP快速搭建电力系统优化模型并进行求解与验证。; 阅读建议:建议读者结合文档内容与网盘提供的完整资源(含代码与数据),动手实践建模与调试过程,重点关注约束条件的设定、故障场景的枚举与处理策略,同时参考相关文献深化对鲁棒优化与分布鲁棒方法的理解。

111,129

社区成员

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

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

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