在C#中用同一个dataset保存从数据库中取出的多张表:
cmd.CommandText = "select * from table1;";
NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd); //实例化一个类,它用于连接C#与数据库,并执行cmd语句且将结果缓存到适配器中
DataSet thedataset = new DataSet(); //实例化一个dataset,实例名为thedataset(通常被定义为ds)
da.Fill(thedataset, "thetable1"); //将适配器中的内容填充到dataset的thetable1表中, thetable1同时被建立
cmd.Parameters.Clear(); //清空cmd内容,如果不清空下次使用时会抛出异常
cmd.CommandText = "select * from table2;";
da = new NpgsqlDataAdapter(cmd);
da.Fill(thedataset, "thetable2"); //将适配器中的内容填充到dataset的thetable2表中, thetable2同时被建立
cmd.Parameters.Clear(); //清空cmd内容
...
int count = thedataset.Tables["thetable1"].Rows.Count; //获取表thetable1的行数
string a = thedataset.Tables["thetable2"].Rows[1][0].ToString().; //获取表thetable2第2行第1列的值