Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengisi Set Data dengan Berbilang Jadual Menggunakan DataReader dengan Cekap?

Bagaimana untuk Mengisi Set Data dengan Berbilang Jadual Menggunakan DataReader dengan Cekap?

Mary-Kate Olsen
Lepaskan: 2024-12-29 18:37:17
asal
949 orang telah melayarinya

How to Efficiently Fill a DataSet with Multiple Tables Using a DataReader?

Mengisi Set Data dengan Berbilang Jadual Menggunakan Pembaca Data

Apabila bekerja dengan Set Data yang mengandungi berbilang jadual dengan perhubungan satu-dengan-banyak, adalah mungkin untuk mengisinya menggunakan DataReader. Walau bagaimanapun, pendekatan lalai menggunakan satu DataReader mungkin tidak menangkap data daripada semua jadual.

Untuk mengatasi had ini, anda boleh menggunakan pendekatan berikut:

using System.Data;
using System.Data.SqlClient;
using System.IO;

namespace SampleApp
{
    public class DataSetWithTables
    {
        private SqlConnection connection;

        public DataSet SelectOne(int id)
        {
            DataSet result = new DataSet();
            string query = @"select * from table1; select * from table2 where table1_id = @ID;";
            using (connection = new SqlConnection("ConnectionString"))
            {
                connection.Open();
                using (SqlCommand command = new SqlCommand(query, connection))
                {
                    command.Parameters.AddWithValue("ID", id);
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        DataTable table1 = new DataTable("Table1");
                        DataTable table2 = new DataTable("Table2");
                        table1.Load(reader);
                        if (reader.NextResult())
                        {
                            table2.Load(reader);
                        }
                        result.Tables.Add(table1);
                        result.Tables.Add(table2);
                    }
                }
                connection.Close();
            }
            return result;
        }
    }
}
Salin selepas log masuk

Dalam pendekatan ini:

  1. Kami mentakrifkan pertanyaan yang merangkumi dua pernyataan SELECT, satu untuk setiap jadual.
  2. Kami menggunakan SqlCommand dengan parameter untuk melaksanakan pertanyaan.
  3. Kami melaksanakan perintah ExecuteReader dan menggunakan reader.NextResult() untuk memuatkan data ke dalam jadual kedua.
  4. Kami mencipta dua objek DataTable untuk mewakili jadual kami dan muatkan data ke dalamnya.
  5. Kami menambah objek DataTable pada DataSet dan menutup sambungannya.

Atas ialah kandungan terperinci Bagaimana untuk Mengisi Set Data dengan Berbilang Jadual Menggunakan DataReader dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan