با سلام
برنامه خیلی عالی و خوبیه، از آقای مهندس کرامتی ممنون و سپاسگزارم.
با توجه به نیاز و کارم مجبورم که لیست همه فیلدهای هر جدول بهمراه توضیحات Description مربوط به هر فیلد را در قبل از کدهای تولید شده بصورت کامنت نمایش دهد.
برای اینکار دو تابع زیر را در کلاس SQL_Generator.cs اضافه کرده ام


#region "Test"

public static string Get_Field_Description(string Table_Name, String Field_Name)
{

DbObject dbo = new DbObject();

string str_Query = string.Empty;
str_Query = " SELECT ep.value AS PropertyValue ,c.name AS ColumnName FROM sys.objects o INNER JOIN sys.extended_properties ep ON o.object_id = ep.major_id INNER JOIN sys.schemas s ON o.schema_id = s.schema_id LEFT JOIN syscolumns c ON ep.minor_id = c.colid AND ep.major_id = c.id WHERE o.type IN ('V', 'U', 'P') AND o.Name = '" + Table_Name + "' and c.name='" + Field_Name + "'";

DataSet dsServer = dbo.RunQuery(str_Query, "Server");

string Field_Description = string.Empty;

if (dsServer.Tables[0].Rows.Count > 0)
{
Field_Description = dsServer.Tables[0].Rows[0]["PropertyValue"].ToString();
}
return Field_Description;
}




public static string List_All_Field(string TableName, DataRow[] Columns)
{
string SQL = string.Empty;

SQL = "لیست همه فیلدها";
SQL += "\r\n \r\n" + "";


bool firstParam = true;
int int_TabIndex = 0;

DbObject obj_DbObject = new DbObject();

foreach (DataRow row in Columns)
{
int_TabIndex += 1;
string Field_Name = string.Empty;
Field_Name = row["COLUMN_NAME"].ToString();

string Field_Description = string.Empty;

Field_Description = Get_Field_Description(TableName, Field_Name);

SQL += "\r\n --" + int_TabIndex.ToString() + "- " + Field_Name + " = " + Field_Description;

}

SQL += "\r\n \r\n" + "";
return SQL;
}
#endregion


تابع List_All_Field مثل بقیه توابع موجود در کلاس نام جدول و روها را گرفته و نام همه فیلدها را نمایش میدهد و این تابع را بصورت txtSQL.Document.Text = SQL_Generator.List_All_Field(tableName,rows) + txtSQL.Document.Text; در فرم اصلی صدا زدم.

تابع Get_Field_Description دو آرگومان ورودی یعنی اسم جدول و اسم فیلد رو میگیره و توضیحات مربوط به فیلد رو برمیگردونه


اگر تابع نمایش توضیحات را Get_Field_Description را کامنت کنم و اجرا نشود، لیست همه فیلدها را بصورت درست نمایش میدهد ولی وقتی میخواهم از تابع Get_Field_Description برای خواندن توضیحات هر فیلد استفاده کنم پیغام خطای زیر را میدهد.
لطفا راهنمایی کنید این قسمت را چجوری به برنامه اضافه کنم تا پیغام خطای زیر را ندهد.
با تشکر