SQL로 페이징 할때 키워드 검색 해야되는 경우 테이블의 컬럼명이 필요할때가 있습니다.

그럴경우 return 되는 변수를 통해 간단히 Foreach로 코드를 만들 수 있습니다.

private async Task<List<string>> GetTableColumns(string tableNm)
{
	string query = $"SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{tableNm}'";
    var columns = new List<string>();
    using (var dbconn = new SqlConnection(_context.ConnectionString))
    {
    	dbconn.Open();
        try
        {
        	using (var cmd = new SqlCommand(query, dbconn))
            {
            	using (var reader = cmd.ExecuteReader())
                {
                	while (reader.Read())
                    {
                    	columns.Add(reader.GetString(0));
                    }
                 }
   			}
     	}
     	catch (Exception ex)
     	{
     		_logger.Log(ex);
     	}
    }
	return columns;
}

'프로그래밍 > C# And .Net' 카테고리의 다른 글

[.NET] ASP.NET 3.1 경로 얻기  (0) 2020.12.24

+ Recent posts