C# 同时执行多条SQL,返回一个DataSet

xmbily 2010-02-04 09:27:17
需求:同时执行多条select ,把它放在了一个arrayList中,再执行,返回一个Dataset,然后根据存入的顺序依次取结果。
不知道怎么实现。哪位有实例不?
...全文
855 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanminxi 2010-05-11
  • 打赏
  • 举报
回复
kan
liushengmz 2010-02-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhujiazhi 的回复:]
private DataSet ExecuteManySql(ArrayList arrayList)
    {
        SqlConnection connection = new SqlConnection("");
        SqlCommand command = new SqlCommand();
        command.Connection = connection;
        string table = "table";
        SqlDataAdapter adapter = new SqlDataAdapter();
        DataSet set = new DataSet();
        for(int i = 0; i < arrayList.Count; ++i)
        {
            command.CommandText = arrayList[i].ToString();
            adapter.SelectCommand = command;
            adapter.Fill(set, table + i);
        }
        return set;
    }
[/Quote]

正解,记得使用ArrayList的时候要引用对应的命名空间
qijialin 2010-02-04
  • 打赏
  • 举报
回复
来看看 顶一个
xray2005 2010-02-04
  • 打赏
  • 举报
回复
SqlConnection connection = new SqlConnection("");
SqlCommand command = new SqlCommand();
command.Connection = connection;
string table = "table";
SqlDataAdapter adapter = new SqlDataAdapter();
DataSet set = new DataSet();
for(int i = 0; i < arrayList.Count; ++i)
{
command.CommandText = arrayList[i].ToString();
adapter.SelectCommand = command;
adapter.Fill(set, table + i);
}
return set;
nashina 2010-02-04
  • 打赏
  • 举报
回复
在SQL客户端中可以同时执行多条语句;但是在c#程序中好像只能一条一条的执行;
我以前都是做个循环,逐条执行完sql语句后,把结果Fill到dataSet中,每个结果定义不同的表名;
就相当于DataSet中有多个Tatle,每个Table就是一个select结果。

2楼的方法就不错
zhujiazhi 2010-02-04
  • 打赏
  • 举报
回复
private DataSet ExecuteManySql(ArrayList arrayList)
{
SqlConnection connection = new SqlConnection("");
SqlCommand command = new SqlCommand();
command.Connection = connection;
string table = "table";
SqlDataAdapter adapter = new SqlDataAdapter();
DataSet set = new DataSet();
for(int i = 0; i < arrayList.Count; ++i)
{
command.CommandText = arrayList[i].ToString();
adapter.SelectCommand = command;
adapter.Fill(set, table + i);
}
return set;
}
mayonglong 2010-02-04
  • 打赏
  • 举报
回复
Fill一个DataTable后再将SelectCommand的CommandText改成你的arrayList中的项就可以了,最后组成一个DataSet,这样不行?
xghtom 2010-02-04
  • 打赏
  • 举报
回复
dataset 是数据集,可以Fill多张表的
直接譬如下面那样
da.Fill("table1",ds);
da.Fill("table2",ds);

如果多个sql语句查询的数据有共性,我觉得可以用一条sql语句,select与select之间用union连接,查询出结果一次输出

111,123

社区成员

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

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

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