Füllen Sie Daten aus mehreren Abfragen in derselben Datenquelle aus
Autor:Eve Cole
Aktualisierungszeit:2009-07-01 16:14:59
DataSet wird beim Schreiben von Code häufig als Datenquelle des Steuerelements verwendet. Normalerweise kann ein Steuerelement nur an eine Datenquelle gebunden werden. Wenn Sie die Ergebnisse mehrerer Abfragen an die Datenbank an ein Steuerelement binden möchten, müssen Sie die Ergebnisse mehrerer Abfragen in dieselbe Datenquelle füllen. Natürlich kann diese Funktion auch durch dynamisches Zeichnen von Tabellen implementiert werden, aber ich halte die dynamische Verarbeitung von Tabellen für zu mühsam. Der folgende Test wurde zu diesem Zweck durchgeführt und der Test war erfolgreich. Ich werde ihn jetzt teilen.
Prinzip: Füllen Sie die Ergebnisse mehrerer Abfragen in dieselbe Tabelle desselben DataSets. Bei zweimaligem Ausfüllen müssen die Felder jedoch denselben Alias haben, da sonst unnötige NULL-Zeilen angezeigt werden.
Der Code lautet wie folgt:
1private void databing()
2 {
3 string sql1="select xqid as yhm ,xqmc as zsxm from xt_xq";//
4 string sql2="wähle xt_zdb_style als yhm, Beschreibung als zsxm aus xt_zdb";//sql1 und sql2 verwenden dieselben Feldaliasnamen yhm und zsxm
5 using (OracleConnection-Verbindung = neue OracleConnection("Data Source=abeen;User Id=system;Password=abeen;"))
6 {
7 DataSet ds = new DataSet();
8 Versuchen
9 {
10 Verbindung.Open();
11 OracleDataAdapter command = new OracleDataAdapter(sql2,connection);
12 command.Fill(ds,0,5,"TableName");//Daten zum ersten Mal in TableName füllen
13 command = new OracleDataAdapter(sql1,connection);
14 command.Fill(ds,"TableName");//Daten zum zweiten Mal in TableName füllen
15
16 this.DataGrid1.DataSource=ds;//Die Ergebnisse der beiden Füllungen stehen im TableName von ds
17 this.DataGrid1.DataBind();
18}
19 Catch(System.Data.OracleClient.OracleException ex)
20 {
21 neue Ausnahme auslösen (z. B. Nachricht);
zweiundzwanzig }
dreiundzwanzig
vierundzwanzig }
25}
http://www.cnblogs.com/abeen/archive/2006/11/21/567893.html