다음과 같은 SqlDataReader 반환 레코드를 사용하는 방법이 더 좋습니다.SqlDataReader 처리 방법 비교 반환 값
한 데이터를 직접 - 특수 :
<table>
<%while(Reader.Read()){%>
<tr>
<td><%Reader.GetInt32(0)%></td>
<td><%Reader.GetString(1)%></td>
<td><%Reader.GetBoolean(2)%></td>
</tr>
<%}%>
</table>
구조와 읽기 데이터를 사용하여 가능한 한 빨리 연결을 종료하고 목록에
2 독서 기록 :
<%struct Data{
public int id;
public string name;
public bool active;
}
List<Data> Datas = new List<Data>();
while(Reader.Read()){
Datas.Add(new Data(){
id = Reader.GetInt32(0),
name = Reader.GetString(1),
active = Reader.GetBoolean(2)
}
}
connection.Close();%>
<table>
<%for(int i=0;i<Datas.Length;i++){%>
<tr>
<td><%Datas[i].id%></td>
<td><%=Datas[i].name%></td>
<td<%=Datas[i].active%></td>
</tr>
<% } %>
</table>
어떤 점에서 개선 되었습니까? 얼마나 오랫동안 연결 상태를 유지하면서 UI와 데이터 액세스 문제, 성능, 가독성을 분리 할 수 있습니까? –
@MichaelPetito 나의 주요 관심사는 성능이며, 시간 연결이 열린 상태로 유지됩니다. –