数据库循环查询的多条数据如何填充进同一个datatable数据库循环查询的数据String lineproduct for (i
数据库循环查询的多条数据如何填充进同一个datatable 数据库循环查询的数据 String lineproduct = ""; for (int i = 0; i < dt.Rows.Count; i++) { lineproduct = "select name as 产品名,std_size as 产品规格,object_rrn as 产品RRN,version as 产品版本,description as 产品描述 from meswell.prd_part " + "where process_name ='" + dt.Rows[i]["加工工艺"].ToString() + "'and customer_name ='" + dt.Rows[i]["客户代码"].ToString() + "'and part_spec1 ='" + dt.Rows[i]["客户型号"].ToString() + "'and status = 'Active'"; da = SelectOracleDT.getProduct(lineproduct); }
public static DataTable getProduct(String lineproduct) { DataTable dc = new DataTable(); OleDbDataAdapter da = new OleDbDataAdapter(lineproduct, conn); da.Fill(dc); return dc; }
上面代码,我觉得是不能用Fill填充的,但是又不知道怎么来修改,请大虾们给点思路,谢谢
[最优解释]
那有什么关系。 [其他解释] 看了下你的代码,好呆
你不能用子查询么? select ... from ... where process_name in (你之前的那个dt的查询) ... and status = 'Active' [其他解释] 晕,不是这么用的。
你google下sql in 子查询。 [其他解释] 你可以把这些查询和并在一起,最简单。
(select ... from ... where ...) union (select ... from ... where ...) union (select ... from ... where ...) [其他解释]
我觉得假如i=10的话,那我就要写(select ... from ... where ...) union (select ... from ... where ...) union (select ... from ... where ...) 十个查询条件喇,况且现在i的值不确定呢 [其他解释]
我把代码该成了 String lineproduct = ""; for (int i = 0; i < dt.Rows.Count; i++) { lineproduct = "select name as 产品名,std_size as 产品规格,object_rrn as 产品RRN,version as 产品版本,description as 产品描述 from meswell.prd_part " + "where process_name in ('" + dt.Rows[i]["加工工艺"].ToString() + "') and customer_name in ('" + dt.Rows[i]["客户代码"].ToString() + "') and part_spec1 in ('" + dt.Rows[i]["客户型号"].ToString() + "') and status = 'Active'"; } da = SelectOracleDT.getProduct(lineproduct); 运行发现还是只查出来是最后一条数据呀,前面的数据都被覆盖掉了 [其他解释]