it-swarm.asia

كيفية تحويل DataSet إلى DataTable

أقوم باسترداد البيانات من جدول SQL حتى أتمكن من عرض النتيجة على الصفحة كجدول HTML. أحتاج لاحقًا إلى أن أكون قادرًا على حفظ هذا الجدول كملف CSV.

لقد اكتشفت حتى الآن كيفية استرداد البيانات وتعبئتها في مجموعة بيانات لعرضها (والتي تعمل بشكل مثالي) ...

        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);

وكيفية حفظها في ملف CSV بمساعدة التعليمات البرمجية التالية من: 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();
    }

الآن مشكلتي هي كيف يمكنني تحويل هذا DataSet إلى DataTable؟ لقد جربت الطريقة الموصوفة هنا مع [~ # ~] لا [~ # ~] الحظ: http: //www.ezineasp صافي/آخر/ASP-نت-C-حاد تحويل-مجموعة البيانات إلى DataTable.aspx

هل يستطيع أي أحد مساعدتي؟

36
AlwaysANovice

A DataSet بالفعل يحتويDataTables. يمكنك فقط استخدام:

DataTable firstTable = dataSet.Tables[0];

أو بالاسم:

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

لاحظ أنه يجب أن يكون لديك using عبارات لرمز SQL الخاص بك ، لضمان التخلص من الاتصال بشكل صحيح:

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

DataSet عبارة عن مجموعة من DataTables .... يمكنك الحصول على البيانات من DataSet على النحو التالي.

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

إليكم الحل:

DataTable datatable = (DataTable)dataset.datatablename;
1
MORFEE89