请教OleDbDataAdapter.fill() 多个表的情况
我有两个表,一个是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");