안녕하세요 현재 프로그램 컨버전중에 있는데
이게 이해가 안되서 질문드립니다.
혀냊 컨버전프로그램 소스를 제가 볼수 없습니다… 기능 을 보고 새로 만들어야됩니다. .;;
프로그램 기능 자체는 매우 단순합니다.
반복적으로 데이터를 읽어와서 그리드에 뿌리기만 하면 됩니다.
그런데 VB 프로그램은 만약 300건의 항목의 정보를 가져온다고 했을때
300번 반복할 때 한번 셀렉트 할때 마다 거의 0.01 초 정도 걸릴더라구요
서버 프로파일러 통해서 확인했습니다.
그런대 제가 만든 c# 소스는 한번 셀렉트 할때마다 0.1 초 정도 걸립니다.
이러니 … 항목이 200건 300건 넘어가면 20초 30초씩 걸려버리는데… 환장하겄네요.
제가 사용한 소스 입니다. 혹시 빠르게 할수 있는 방법이 없을까요…?
///
/// 쿼리를 읽어서 DataTable 형태로 줌
///
/// 참조형식 데이터 테이블
/// 쿼리
/// 입력시 변경
/// 조회된 데이터테이블의 로우 수
public static int OpenDataTable(ref DataTable dt, string strSql, string strCon = constring)
{
int iRowCnt = 0;
dt.Clear();
dt = new DataTable();
try
{
SqlConnection SQLConnection = new SqlConnection(strCon);
SqlCommand SQLCommand = new SqlCommand(strSql, SQLConnection);
SQLCommand.CommandTimeout = 1800;
SQLConnection.Open();
SqlDataReader SQLDataReader = SQLCommand.ExecuteReader();
if (SQLDataReader.HasRows)
{
dt.Load(SQLDataReader);
iRowCnt = dt.Rows.Count;
}
else
{
SQLDataReader.Close();
}
}
catch (Exception ex)
{
iRowCnt = 0;
throw new Exception("OpenDataTable Error" + Environment.NewLine + ex.ToString());
}
return iRowCnt;
}