.net中的多重选择查询数据集

时间:2014-06-04 10:45:24

标签: sql .net oracle

我能写出这样的东西:

cmd = new OleDbCommand("select * from cmn_mst; select * from cmn_typ", oledbCon);

但这显示错误。有没有其他方法可以在数据集中编写多个select?

4 个答案:

答案 0 :(得分:1)

你不能在一个OleDbCommand中做到这一点,你需要在两个命令中拆分查询,所以2个数据集..

答案 1 :(得分:1)

在一个数据集中放置2个查询的原因是什么?

如果要在代码中使其更小,可以在数据库中使用视图或存储过程。

答案 2 :(得分:1)

编写一个存储过程,输出2个ref游标并在.net代码中调用它。

详细的答案需要了解您使用的提供者类型。

但这应该有助于谷歌的东西。

article可能会有所帮助。

答案 3 :(得分:0)

方法1

尝试用两个命令进行此操作。

DataSet set1 = new DataSet();
using(OleDbDataAdapter adapter = new OleDbDataAdapter("select * from cmn_mst;", connection))
{
   adapter.Fill(set1);
}

DataSet set2 = new DataSet();
using(OleDbDataAdapter adapter = new OleDbDataAdapter("select * from cmn_typ;", connection))
{
   adapter.Fill(set2);
}

返回两个数据集后您可以将其合并为一次

set1.EnforceConstraints = false;
set1.Merge(set2, true, MissingSchemaAction.AddWithKey);
set1.EnforceConstraints = true;
set1.AcceptChanges();

供进一步参考:

方法2:

  • 您必须编写存储过程并在代码中调用它。