의 가장 좋은 점은 IDataRecord interface에 대한 MSDN의 문서에 설명되어 있지만, 마지막에 당신은 여전히 각각의 단일 컬럼을 읽고 어딘가에 보관해야합니다. 그러나 더 객체 지향 접근 방식은
그래서 쿼리 당신이 가지고 있다고 가정을, 귀하의 기록에서 데이터를 표현하는 클래스가 해당 클래스의 인스턴스를 생성하고 해당 속성을 초기화 한 후 다른 방법으로 인스턴스를 전달하는 것입니다 당신이 어딘가에 당신의 Person 클래스를 정의 이제 간단한
SELECT IDPerson, FirstName, LastName from Persons
이다 사용
public class Person
{
public int IDPerson {get;set;}
public string FirstName {get;set;}
public string LastName {get;set;}
}
그런 다음 루프는
작동
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
// Declare and initialize the instance of a Person
// (this is a single variable as per your requirements)
Person p = new Person()
{
IDPerson = rdr.GetInt32(0),
FirstName = rdr.GetString(1),
LastName = rdr.GetString(2)
};
ProcessPerson(p);
}
'var str = rdr.GetString (0)' –
@ Rakitić 첫 번째 열의 값을 저장하지 않겠습니까? 전체 행을 저장하는 방법을 묻습니다. – user2181948
가장 좋은 방법은 [IDataRecord 인터페이스] (https://msdn.microsoft.com/en-us/library/system.data)에 대한 MSDN 문서에 설명되어 있습니다. idatareader (v = vs.110) .aspx).하지만 결국에는 각 열을 읽고 어딘가에 저장해야합니다. – Steve