DataReader를 사용하여 여러 테이블로 DataSet 채우기
일대다 관계의 여러 테이블이 포함된 DataSet으로 작업할 때, DataReader를 사용하여 채울 수 있습니다. 그러나 단일 DataReader를 사용하는 기본 접근 방식은 모든 테이블의 데이터를 캡처하지 못할 수도 있습니다.
이 제한을 극복하려면 다음 접근 방식을 사용할 수 있습니다.
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; } } }
이 접근 방식에서는:
위 내용은 DataReader를 사용하여 여러 테이블로 DataSet을 효율적으로 채우는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!