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; } }