複数のクエリから同じデータ ソースにデータを取り込む
著者:Eve Cole
更新時間:2009-07-01 16:14:59
DataSet は、コード作成時にコントロールのデータ ソースとしてよく使用されます。通常、コントロールは 1 つのデータ ソースにのみバインドできます。データベースに対する複数のクエリの結果をコントロールにバインドする場合は、複数のクエリの結果を同じデータ ソースに入力する必要があります。もちろん、この機能はテーブルを動的に描画することでも実現できますが、テーブルの動的処理は面倒な気がします。この目的のために次のテストが行われ、成功しましたので、それを共有します。
原則: 複数のクエリの結果を同じ DataSet の同じテーブルに入力します。ただし、2 回入力する場合、フィールドは同じエイリアスである必要があります。そうしないと、不要な NULL 行が表示されます。
コードは次のとおりです。
1private void databing()
2 {
3 string sql1="xt_xq から xqid を yhm として、xqmc を zsxm として選択します";//
4 string sql2="select xt_zdb_style as yhm, description as zsxm from xt_zdb";//sql1 と sql2 は同じフィールド エイリアス yhm と zsxm を使用します
5 using (OracleConnection connection = new OracleConnection("Data Source=abeen;User Id=system;Password=abeen;"))
6 {
7 データセット ds = 新しいデータセット();
8 試してみる
9 {
10 接続.Open();
11 OracleDataAdapter コマンド = new OracleDataAdapter(sql2,connection);
12 command.Fill(ds,0,5,"TableName");//TableName に初めてデータを入力します
13 コマンド = 新しい OracleDataAdapter(sql1,connection);
14 command.Fill(ds,"TableName");//TableName に 2 回目のデータを入力します
15
16 this.DataGrid1.DataSource=ds;//2 つの入力の結果は ds の TableName にあります
17 this.DataGrid1.DataBind();
18}
19 catch(System.Data.OracleClient.OracleException ex)
20 {
21 新しい例外(例:メッセージ)をスローします。
22 }
23
24 }
25}
http://www.cnblogs.com/abeen/archive/2006/11/21/567893.html