c# - tutorial - use asp net in html




So konvertieren Sie DataSet nach DataTable (2)

DataSet ist eine Sammlung von DataTables. Sie können die Daten aus DataSet wie folgt abrufen.

//here ds is dataset
DatTable dt = ds.Table[0]; /// table of dataset

Ich rufe Daten aus einer SQL-Tabelle ab, damit ich das Ergebnis auf der Seite als HTML-Tabelle anzeigen kann. Später muss ich diese Tabelle als CSV-Datei speichern können.

Bisher habe ich herausgefunden, wie man die Daten abruft und sie zu Anzeigezwecken in einen Datensatz einfügt (was perfekt funktioniert) ...

        string selectQuery = "SELECT Name, ProductNumber, ListPrice FROM Poduction.Product";

        // Establish the connection to the SQL database 
        SqlConnection conn = ConnectionManager.GetConnection();
        conn.Open();

        // Connect to the SQL database using the above query to get all the data from table.
        SqlDataAdapter myCommand = new SqlDataAdapter(selectQuery, conn);

        // Create and fill a DataSet.
        DataSet ds = new DataSet();
        myCommand.Fill(ds);

und wie man sie mit Hilfe des folgenden Codes in einer CSV-Datei speichert: http://www.evontech.com/login/topic/1983.html

    private void exportDataTableToCsv(DataTable formattedDataTable, string filename)
    {
       DataTable toExcel = formattedDataTable.Copy();
       HttpContext context = HttpContext.Current;
       context.Response.Clear();

       foreach (DataColumn column in toExcel.Columns)
       {
          context.Response.Write(column.ColumnName + ",");
       }

       context.Response.Write(Environment.NewLine);
       foreach (DataRow row in toExcel.Rows)
       {
          for (int i = 0; i < toExcel.Columns.Count; i++)
          {
             context.Response.Write(row.ToString().Replace(",", string.Empty) + ",");
          }

          context.Response.Write(Environment.NewLine);
       }

       context.Response.ContentType = "text/csv";
       context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename + ".csv");
       context.Response.End();
    }

Jetzt ist mein Problem, wie ich dieses DataSet in DataTable konvertiere? Ich habe den hier beschriebenen Weg ohne Glück versucht: http://www.ezineasp.net/post/ASP-Net-C-sharp-Convert-DataSet-to-DataTable.aspx

Kann mir jemand helfen?


Ein DataSet enthält bereits DataTables . Sie können einfach verwenden:

DataTable firstTable = dataSet.Tables[0];

oder namentlich:

DataTable customerTable = dataSet.Tables["Customer"];

Beachten Sie, dass Sie Anweisungen für Ihren SQL-Code verwenden müssen, um sicherzustellen, dass die Verbindung ordnungsgemäß verwaltet wird:

using (SqlConnection conn = ...)
{
    // Code here...
}




sql