HOME
User:
Anonymous
search for
in
Template Archives
Templates
Articles
Users
Login
Username:
Password:
Navigation
Registered User Functions:
Register New Account
Anonymous Functions:
Home
Users
Archives
Templates
Articles
MyGeneration Website
MyGeneration Forums
Categories
Application Type
Command Line
Graphical User Interface
Library
Sample
Web Application
Architecture Type
Client-Server
Distributed Computing
Multi-Tier
Peer-to-peer
Operating System
Linux
Win32
Programming Language
ASP
ASP.Net
C#
C++
Firebird SQL
J#
Java
Jet SQL
JScript
JSP
MySQL
Perl
PHP
PL/SQL
PostgreSQL
SQL
Transact-SQL
VB.Net
VBScript
XSLT
Template: a52 - Creador de vistas
Download Count:
63
View Count:
128
Template Properties
Unique ID:
ccc24226-8992-406c-a18c-eb49d735cd62
Title:
a52 - Creador de vistas
Namespace:
a52.SQL
Output Language:
SQL
Mode:
Markup
Start Tag:
<%
End Tag:
%>
Template Body
Engine:
.Net Script
Language:
C#
<% ///********************************************************************* /// Generador de vistas[a52] /// Genera una vista con las con inner join a las llaves foraneas /// ///********************************************************************** /// Creado por: Abnel Lluberes Mustafa <alluberes@gmail.com> /// Fecha: Lunes 7 de Junio del 2010 ///********************************************************************** public class GeneratedTemplate : DotNetScriptTemplate { private IDatabase m_Database = null; // base de datos seleccionada private string m_OutputPath = null; // ruta de escritura seleccionada public GeneratedTemplate(ZeusContext context) : base(context) {} //--------------------------------------------------- // Render() is where you want to write your logic //--------------------------------------------------- public override void Render() { // Extract the information from the user interface m_Database = MyMeta.Databases[input["cmbDatabases"].ToString()]; m_OutputPath = input["txtPath"].ToString(); if (!m_OutputPath.EndsWith("\\") ) m_OutputPath += "\\"; output.writeln("Base de Datos seleccionada: " + m_Database.Alias); foreach(ITable table in m_Database.Tables){ CreateView(table); } } public void CreateView(ITable table) { output.writeln("CREATE VIEW [" + table.Schema + "].[vw_" + table.Name + "]"); output.writeln("AS"); //output.writeln("BEGIN"); output.write("\tSELECT "); bool isFirst = true; foreach(IColumn column in table.Columns) { if (!isFirst) output.write("\t\t,"); // else output.write("\t"); output.writeln("[" + table.Name + "].[" + column.Name + "]"); isFirst = false; } foreach(IForeignKey fk in table.ForeignKeys) { if(fk.PrimaryTable.Name != table.Name) { foreach(IColumn column in fk.PrimaryTable.Columns) { output.write("\t\t,"); output.writeln("[" + fk.PrimaryTable.Name + "].[" + column.Name + "] AS [" + fk.PrimaryTable.Name + "_" + column.Name + "]"); } } } output.writeln("\tFROM [" + table.Schema + "].[" + table.Name + "]"); foreach(IForeignKey fk in table.ForeignKeys) { if(fk.PrimaryTable.Name != table.Name) { output.writeln("\t\tINNER JOIN [" + fk.PrimaryTable.Schema + "].[" + fk.PrimaryTable.Name + "]"); output.write("\t\t\t"); output.write("ON "); // [" + fk.PrimaryTable.Name + "].[" + column.Name + "] AS [" + fk.PrimaryTable.Name + "_" + column.Name + "]"); isFirst = true; foreach(IColumn column in fk.ForeignColumns) { if (!isFirst) output.write("\t\t\t\t AND "); output.writeln(" [" + fk.PrimaryTable.Name + "].[" + column.Name + "] = [" + fk.ForeignTable.Name + "].[" + column.Name + "] " ); isFirst = false; } } } //output.writeln("END"); output.writeln("GO"); output.writeln(""); } } %>
Dynamic Interface:
Engine:
.Net Script
Language:
C#
public class GeneratedGui : DotNetScriptGui { public GeneratedGui(ZeusContext context) : base(context) {} //----------------------------------------- // The User Interface Entry Point //----------------------------------------- public override void Setup() { // ** UNCOMMENT CODE BELOW TO SEE UI ** if ( !input.Contains("lstTables") || !input.Contains("txtPath") ) { ui.Title = "a52 - Generador de Vistas"; ui.Width = 400; ui.Height = 220; // Grab default output path string sOutputPath = @"C:\a52\Projects\"; if (input.Contains("defaultOutputPath")) sOutputPath = input["defaultOutputPath"].ToString(); // Setup Database selection input control. ui.AddLabel ("lblDatabase", "Database: ", "Select the database."); GuiComboBox cmbDatabases = ui.AddComboBox("cmbDatabases", "Select the database."); // Setup Folder selection input control. GuiLabel lblPath = ui.AddLabel("lblPath", "Select the output path:", "Select the output path in the field below."); GuiTextBox txtPath = ui.AddTextBox("txtPath", sOutputPath, "Select the Output Path."); GuiFilePicker btnSelectPath = ui.AddFilePicker("btnSelectPath", "Select Path", "Select the Output Path.", "txtPath", true); setupDatabaseDropdown(cmbDatabases); ui.ShowGui = true; } else { ui.ShowGui = false; } } public void setupDatabaseDropdown(GuiComboBox cmbDatabases) { if (MyMeta.IsConnected) { cmbDatabases.BindData(MyMeta.Databases); if (MyMeta.DefaultDatabase != null) { cmbDatabases.SelectedValue = MyMeta.DefaultDatabase.Alias; } } } public void cmbDatabases_onchange(GuiComboBox control) { GuiComboBox cmbDatabases = ui["cmbDatabase"] as GuiComboBox; } public void cmbTargets_onchange(GuiComboBox control) { GuiComboBox cmbTargets = ui["cmbTarget"] as GuiComboBox; } }
Copyright © 2004 MyGeneration Software. All rights reserved.
Feedback:
feedback@mygenerationsoftware.com
Support:
support@mygenerationsoftware.com