//private string alias_table_name = null;
        internal StringBuilder SQLCreateView_InDataBase(List<SQLTable> lTable)
        {
            StringBuilder SQL_View = new StringBuilder("");
            try
            {
                if (this.m_Fkey.Count > 0)
                {
                    jListClear();

                    if (this.m_Table_View == null)
                    {
                        m_Table_View = new Table_View();
                    }
                    m_Table_View.View_Name = TableName + const_DataBaseViewSuffix;

                    SQL_View.Append("\n\nCREATE VIEW " + ViewName + " AS ");

                    SQL_View.Append("\nSELECT ");

                    SQL_View.Append("\n  " + TableName + ".ID");

                    SQLTable xtbl = new SQLTable(this);
                    xtbl.CreateTableTree(lTable);

                    string alias_table_name = this.TableName;

                    foreach (Column col in xtbl.Column)
                    {
                        if (!col.IsIdentity)
                        {
                            if (col.fKey != null)
                            {
                                if (col.fKey.fTable != null)
                                {
                                    col.fKey.fTable.BasicColumns(ref SQL_View, ref m_Table_View, alias_table_name);
                                    if (!m_Table_View.defined)
                                    {
                                        string Column_Name_In_View = col.ownerTable.TableName + VIEW_TableName2ColumnName_SEPARATOR + col.Name;
                                        Table_View.ColumnNames x_Table_View_ColumnNames = new Table_View.ColumnNames();
                                        x_Table_View_ColumnNames.Name = Column_Name_In_View;
                                        x_Table_View_ColumnNames.Name_in_language = col.Name_in_language;
                                        this.m_Table_View.View_ColumnNames_List.Add(x_Table_View_ColumnNames);
                                    }
                                }
                            }
                            else
                            {
                                string Column_Name_In_View = col.ownerTable.TableName + VIEW_TableName2ColumnName_SEPARATOR + col.Name;
                                SQL_View.Append(",\n  " + col.ownerTable.TableName + "." + col.Name + " AS " + Column_Name_In_View);
                                if (!m_Table_View.defined)
                                {
                                    Table_View.ColumnNames x_Table_View_ColumnNames = new Table_View.ColumnNames();
                                    x_Table_View_ColumnNames.Name = Column_Name_In_View;
                                    x_Table_View_ColumnNames.Name_in_language = col.Name_in_language;
                                    this.m_Table_View.View_ColumnNames_List.Add(x_Table_View_ColumnNames);
                                }
                            }
                        }
                    }
                    m_Table_View.defined = true;

                    SQL_View.Append("\nFROM " + TableName);

                    foreach (Column col in xtbl.Column)
                    {
                        if (!col.IsIdentity)
                        {
                            if (col.fKey != null)
                            {
                                if (col.fKey.fTable != null)
                                {
                                    col.fKey.fTable.GetJoins(col.nulltype, this, alias_table_name, alias_table_name);
                                }
                            }
                        }
                    }
                    CreateJoins(ref SQL_View, false);
                }
            }
            catch (Exception Ex)
            {
                LogFile.Error.Show("ERROR:SQLTable:SQLCreateView_InDataBase:Exception=" + Ex.Message);
            }
            return SQL_View;
        }
 private void BasicColumns(ref StringBuilder SQL_View, ref Table_View parent_Table_View,string AliasTableName)
 {
     if (this.m_Table_View == null)
     {
         this.m_Table_View = new Table_View();
     }
     string alias_table_name = AliasTableName + SQLTable.VIEW_TableName_SEPARATOR + this.TableName_Abbreviation;
     foreach (Column col in Column)
     {
         if (col.IsIdentity)
         {
             string Column_Name_In_View = alias_table_name + SQLTable.VIEW_TableName2ColumnName_SEPARATOR + col.Name;
             SQL_View.Append(",\n" + alias_table_name + "." + col.Name + " AS " + Column_Name_In_View);
             if (!this.m_Table_View.defined)
             {
                 Table_View.ColumnNames x_Table_View_ColumnNames = new Table_View.ColumnNames();
                 x_Table_View_ColumnNames.Name = Column_Name_In_View;
                 x_Table_View_ColumnNames.Name_in_language = col.Name_in_language;
                 this.m_Table_View.View_ColumnNames_List.Add(x_Table_View_ColumnNames);
             }
         }
         else
         {
             if (col.fKey != null)
             {
                 if (col.fKey.fTable != null)
                 {
                     col.fKey.fTable.BasicColumns(ref SQL_View, ref m_Table_View, alias_table_name);
                     if (!m_Table_View.defined)
                     {
                         string Column_Name_In_View = alias_table_name + SQLTable.VIEW_TableName2ColumnName_SEPARATOR + col.Name;
                         Table_View.ColumnNames x_Table_View_ColumnNames = new Table_View.ColumnNames();
                         x_Table_View_ColumnNames.Name = Column_Name_In_View;
                         x_Table_View_ColumnNames.Name_in_language = col.Name_in_language;
                         this.m_Table_View.View_ColumnNames_List.Add(x_Table_View_ColumnNames);
                     }
                 }
             }
             else
             {
                 string Column_Name_In_View = alias_table_name + SQLTable.VIEW_TableName2ColumnName_SEPARATOR + col.Name;
                 SQL_View.Append(",\n" + alias_table_name + "." + col.Name + " AS " + Column_Name_In_View);
                 if (!this.m_Table_View.defined)
                 {
                     Table_View.ColumnNames x_Table_View_ColumnNames = new Table_View.ColumnNames();
                     x_Table_View_ColumnNames.Name = Column_Name_In_View;
                     x_Table_View_ColumnNames.Name_in_language = col.Name_in_language;
                     this.m_Table_View.View_ColumnNames_List.Add(x_Table_View_ColumnNames);
                 }
             }
         }
     }
     this.m_Table_View.defined = true;
     parent_Table_View.View_List.Add(this.m_Table_View);
 }