private static void FillTables(DBCon dbcon, ref DataSet ds, string tableName)
        {
            string sql = @"
SELECT
	A.[ORDINAL_POSITION] AS '열 일련번호',
	a.[COLUMN_NAME] AS '필드명',
	A.[DATA_TYPE] AS '자료형',
	A.[CHARACTER_MAXIMUM_LENGTH] as '길이',
	A.[IS_NULLABLE] 'NULL 여부',
	D.[CONSTRAINT_TYPE] as 'PK여부',
    '' AS '기본값'
FROM
	INFORMATION_SCHEMA.COLUMNS A
	LEFT OUTER JOIN (select
		B.[TABLE_NAME], B.[TABLE_CATALOG], B.[TABLE_SCHEMA],
		B.[CONSTRAINT_NAME], B.[CONSTRAINT_TYPE], C.[COLUMN_NAME]
	from
		INFORMATION_SCHEMA.TABLE_CONSTRAINTS B,
		INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE C
	WHERE
B.[CONSTRAINT_NAME] = c.[CONSTRAINT_NAME]) D ON
D.COLUMN_NAME = A.COLUMN_NAME AND A.TABLE_NAME = D.TABLE_NAME
WHERE A.[TABLE_NAME] = @tablename
ORDER BY '열 일련번호' asc
";

            try
            {
                dbcon.SelectDB(ref ds, tableName, sql,
                               new System.Data.SqlClient.SqlParameter[]
                               { new System.Data.SqlClient.SqlParameter("@tablename", tableName) });
            }
            catch (Exception)
            {
                throw;
            }
        }