Mover código a sus namespaces correspondientes
This commit is contained in:
373
ServerExplorer/UI/FrmBaseDatos.Designer.cs
generated
Normal file
373
ServerExplorer/UI/FrmBaseDatos.Designer.cs
generated
Normal file
@@ -0,0 +1,373 @@
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
partial class FrmBaseDatos
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.txtConString = new System.Windows.Forms.TextBox();
|
||||
this.lblConString = new System.Windows.Forms.Label();
|
||||
this.btnCopiarConString = new System.Windows.Forms.Button();
|
||||
this.lsvTablas = new ServerExplorer.Controls.CustomListView();
|
||||
this.colNombreTabla = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colEsquema = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colTipo = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.lsvColumnas = new ServerExplorer.Controls.CustomListView();
|
||||
this.colNombreColumna = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colTipoDatos = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colTamanho = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colClave = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.menuBaseDatos = new System.Windows.Forms.MenuStrip();
|
||||
this.archivoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuCargar = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuGuardar = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuConfiguracion = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.btnGenerar = new System.Windows.Forms.Button();
|
||||
this.btnVerDatos = new System.Windows.Forms.Button();
|
||||
this.lblTituloTabla = new System.Windows.Forms.Label();
|
||||
this.lblTituloDB = new System.Windows.Forms.Label();
|
||||
this.btnDocGen = new System.Windows.Forms.Button();
|
||||
this.btnProcs = new System.Windows.Forms.Button();
|
||||
this.btnExec = new System.Windows.Forms.Button();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.menuBaseDatos.SuspendLayout();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// txtConString
|
||||
//
|
||||
this.txtConString.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtConString.Location = new System.Drawing.Point(120, 6);
|
||||
this.txtConString.Name = "txtConString";
|
||||
this.txtConString.ReadOnly = true;
|
||||
this.txtConString.Size = new System.Drawing.Size(616, 20);
|
||||
this.txtConString.TabIndex = 0;
|
||||
//
|
||||
// lblConString
|
||||
//
|
||||
this.lblConString.AutoSize = true;
|
||||
this.lblConString.Location = new System.Drawing.Point(9, 9);
|
||||
this.lblConString.Name = "lblConString";
|
||||
this.lblConString.Size = new System.Drawing.Size(105, 13);
|
||||
this.lblConString.TabIndex = 1;
|
||||
this.lblConString.Text = "Cadena de conexion";
|
||||
//
|
||||
// btnCopiarConString
|
||||
//
|
||||
this.btnCopiarConString.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnCopiarConString.Location = new System.Drawing.Point(742, 4);
|
||||
this.btnCopiarConString.Name = "btnCopiarConString";
|
||||
this.btnCopiarConString.Size = new System.Drawing.Size(52, 23);
|
||||
this.btnCopiarConString.TabIndex = 3;
|
||||
this.btnCopiarConString.Text = "Copiar";
|
||||
this.btnCopiarConString.UseVisualStyleBackColor = true;
|
||||
this.btnCopiarConString.Click += new System.EventHandler(this.btnCopiarConString_Click);
|
||||
//
|
||||
// lsvTablas
|
||||
//
|
||||
this.lsvTablas.AllowSorting = true;
|
||||
this.lsvTablas.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lsvTablas.CheckBoxes = true;
|
||||
this.lsvTablas.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.colNombreTabla,
|
||||
this.colEsquema,
|
||||
this.colTipo});
|
||||
this.lsvTablas.FullRowSelect = true;
|
||||
this.lsvTablas.Location = new System.Drawing.Point(3, 40);
|
||||
this.lsvTablas.Name = "lsvTablas";
|
||||
this.lsvTablas.Size = new System.Drawing.Size(317, 468);
|
||||
this.lsvTablas.Sorting = System.Windows.Forms.SortOrder.Ascending;
|
||||
this.lsvTablas.TabIndex = 4;
|
||||
this.lsvTablas.UseCompatibleStateImageBehavior = false;
|
||||
this.lsvTablas.View = System.Windows.Forms.View.Details;
|
||||
this.lsvTablas.SelectedIndexChanged += new System.EventHandler(this.lsvTablas_SelectedIndexChanged);
|
||||
//
|
||||
// colNombreTabla
|
||||
//
|
||||
this.colNombreTabla.Text = "Tabla";
|
||||
this.colNombreTabla.Width = 169;
|
||||
//
|
||||
// colEsquema
|
||||
//
|
||||
this.colEsquema.Text = "Esquema";
|
||||
//
|
||||
// colTipo
|
||||
//
|
||||
this.colTipo.Text = "Tipo";
|
||||
this.colTipo.Width = 71;
|
||||
//
|
||||
// lsvColumnas
|
||||
//
|
||||
this.lsvColumnas.AllowSorting = false;
|
||||
this.lsvColumnas.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lsvColumnas.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.colNombreColumna,
|
||||
this.colTipoDatos,
|
||||
this.colTamanho,
|
||||
this.colClave});
|
||||
this.lsvColumnas.FullRowSelect = true;
|
||||
this.lsvColumnas.Location = new System.Drawing.Point(3, 40);
|
||||
this.lsvColumnas.Name = "lsvColumnas";
|
||||
this.lsvColumnas.Size = new System.Drawing.Size(473, 439);
|
||||
this.lsvColumnas.TabIndex = 6;
|
||||
this.lsvColumnas.UseCompatibleStateImageBehavior = false;
|
||||
this.lsvColumnas.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// colNombreColumna
|
||||
//
|
||||
this.colNombreColumna.Text = "Columna";
|
||||
this.colNombreColumna.Width = 122;
|
||||
//
|
||||
// colTipoDatos
|
||||
//
|
||||
this.colTipoDatos.Text = "Tipo de Datos";
|
||||
this.colTipoDatos.Width = 81;
|
||||
//
|
||||
// colTamanho
|
||||
//
|
||||
this.colTamanho.Text = "Tamaño";
|
||||
//
|
||||
// colClave
|
||||
//
|
||||
this.colClave.Text = "Clave";
|
||||
this.colClave.Width = 71;
|
||||
//
|
||||
// menuBaseDatos
|
||||
//
|
||||
this.menuBaseDatos.Dock = System.Windows.Forms.DockStyle.None;
|
||||
this.menuBaseDatos.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.archivoToolStripMenuItem,
|
||||
this.menuConfiguracion});
|
||||
this.menuBaseDatos.Location = new System.Drawing.Point(7, 195);
|
||||
this.menuBaseDatos.Name = "menuBaseDatos";
|
||||
this.menuBaseDatos.Size = new System.Drawing.Size(195, 24);
|
||||
this.menuBaseDatos.TabIndex = 9;
|
||||
this.menuBaseDatos.Text = "menuBaseDatos";
|
||||
this.menuBaseDatos.Visible = false;
|
||||
this.menuBaseDatos.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.menuBaseDatos_ItemClicked);
|
||||
//
|
||||
// archivoToolStripMenuItem
|
||||
//
|
||||
this.archivoToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuCargar,
|
||||
this.menuGuardar});
|
||||
this.archivoToolStripMenuItem.Name = "archivoToolStripMenuItem";
|
||||
this.archivoToolStripMenuItem.Size = new System.Drawing.Size(92, 20);
|
||||
this.archivoToolStripMenuItem.Text = "Base de Datos";
|
||||
//
|
||||
// menuCargar
|
||||
//
|
||||
this.menuCargar.Name = "menuCargar";
|
||||
this.menuCargar.Size = new System.Drawing.Size(116, 22);
|
||||
this.menuCargar.Text = "Cargar";
|
||||
this.menuCargar.Click += new System.EventHandler(this.menuCargar_Click);
|
||||
//
|
||||
// menuGuardar
|
||||
//
|
||||
this.menuGuardar.Name = "menuGuardar";
|
||||
this.menuGuardar.Size = new System.Drawing.Size(116, 22);
|
||||
this.menuGuardar.Text = "Guardar";
|
||||
this.menuGuardar.Click += new System.EventHandler(this.menuGuardar_Click);
|
||||
//
|
||||
// menuConfiguracion
|
||||
//
|
||||
this.menuConfiguracion.Name = "menuConfiguracion";
|
||||
this.menuConfiguracion.Size = new System.Drawing.Size(95, 20);
|
||||
this.menuConfiguracion.Text = "Configuracion";
|
||||
this.menuConfiguracion.Click += new System.EventHandler(this.menuConfiguracion_Click);
|
||||
//
|
||||
// btnGenerar
|
||||
//
|
||||
this.btnGenerar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnGenerar.Location = new System.Drawing.Point(401, 485);
|
||||
this.btnGenerar.Name = "btnGenerar";
|
||||
this.btnGenerar.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnGenerar.TabIndex = 10;
|
||||
this.btnGenerar.Text = "Generar";
|
||||
this.btnGenerar.UseVisualStyleBackColor = true;
|
||||
this.btnGenerar.Click += new System.EventHandler(this.btnGenerar_Click);
|
||||
//
|
||||
// btnVerDatos
|
||||
//
|
||||
this.btnVerDatos.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnVerDatos.Location = new System.Drawing.Point(3, 485);
|
||||
this.btnVerDatos.Name = "btnVerDatos";
|
||||
this.btnVerDatos.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnVerDatos.TabIndex = 11;
|
||||
this.btnVerDatos.Text = "Ver Datos";
|
||||
this.btnVerDatos.UseVisualStyleBackColor = true;
|
||||
this.btnVerDatos.Click += new System.EventHandler(this.btnVerDatos_Click);
|
||||
//
|
||||
// lblTituloTabla
|
||||
//
|
||||
this.lblTituloTabla.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lblTituloTabla.BackColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
this.lblTituloTabla.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lblTituloTabla.ForeColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.lblTituloTabla.Location = new System.Drawing.Point(3, 0);
|
||||
this.lblTituloTabla.Name = "lblTituloTabla";
|
||||
this.lblTituloTabla.Size = new System.Drawing.Size(473, 37);
|
||||
this.lblTituloTabla.TabIndex = 12;
|
||||
this.lblTituloTabla.Text = "lblTituloTabla";
|
||||
this.lblTituloTabla.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// lblTituloDB
|
||||
//
|
||||
this.lblTituloDB.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lblTituloDB.BackColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
this.lblTituloDB.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lblTituloDB.ForeColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
this.lblTituloDB.Location = new System.Drawing.Point(3, 0);
|
||||
this.lblTituloDB.Name = "lblTituloDB";
|
||||
this.lblTituloDB.Size = new System.Drawing.Size(317, 37);
|
||||
this.lblTituloDB.TabIndex = 13;
|
||||
this.lblTituloDB.Text = "lblTituloDB";
|
||||
this.lblTituloDB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// btnDocGen
|
||||
//
|
||||
this.btnDocGen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnDocGen.Location = new System.Drawing.Point(320, 485);
|
||||
this.btnDocGen.Name = "btnDocGen";
|
||||
this.btnDocGen.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnDocGen.TabIndex = 14;
|
||||
this.btnDocGen.Text = "Doc";
|
||||
this.btnDocGen.UseVisualStyleBackColor = true;
|
||||
this.btnDocGen.Click += new System.EventHandler(this.btnDocGen_Click);
|
||||
//
|
||||
// btnProcs
|
||||
//
|
||||
this.btnProcs.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnProcs.Location = new System.Drawing.Point(84, 485);
|
||||
this.btnProcs.Name = "btnProcs";
|
||||
this.btnProcs.Size = new System.Drawing.Size(87, 23);
|
||||
this.btnProcs.TabIndex = 15;
|
||||
this.btnProcs.Text = "Procedimientos";
|
||||
this.btnProcs.UseVisualStyleBackColor = true;
|
||||
this.btnProcs.Click += new System.EventHandler(this.btnProcs_Click);
|
||||
//
|
||||
// btnExec
|
||||
//
|
||||
this.btnExec.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnExec.Location = new System.Drawing.Point(177, 485);
|
||||
this.btnExec.Name = "btnExec";
|
||||
this.btnExec.Size = new System.Drawing.Size(45, 23);
|
||||
this.btnExec.TabIndex = 16;
|
||||
this.btnExec.Text = "Exec";
|
||||
this.btnExec.UseVisualStyleBackColor = true;
|
||||
this.btnExec.Click += new System.EventHandler(this.btnExec_Click);
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(1, 32);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.lblTituloDB);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.lsvTablas);
|
||||
this.splitContainer1.Panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.splitContainer1_Panel1_Paint);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.lblTituloTabla);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnDocGen);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnExec);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.lsvColumnas);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.menuBaseDatos);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnGenerar);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnProcs);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnVerDatos);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(806, 511);
|
||||
this.splitContainer1.SplitterDistance = 323;
|
||||
this.splitContainer1.TabIndex = 17;
|
||||
//
|
||||
// FrmBaseDatos
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(806, 543);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Controls.Add(this.btnCopiarConString);
|
||||
this.Controls.Add(this.lblConString);
|
||||
this.Controls.Add(this.txtConString);
|
||||
this.MainMenuStrip = this.menuBaseDatos;
|
||||
this.Name = "FrmBaseDatos";
|
||||
this.Text = "Base de Datos";
|
||||
this.Load += new System.EventHandler(this.frmBaseDatos_Load);
|
||||
this.menuBaseDatos.ResumeLayout(false);
|
||||
this.menuBaseDatos.PerformLayout();
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.PerformLayout();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox txtConString;
|
||||
private System.Windows.Forms.Label lblConString;
|
||||
private System.Windows.Forms.Button btnCopiarConString;
|
||||
private ServerExplorer.Controls.CustomListView lsvTablas;
|
||||
private System.Windows.Forms.ColumnHeader colNombreTabla;
|
||||
private System.Windows.Forms.ColumnHeader colEsquema;
|
||||
private System.Windows.Forms.ColumnHeader colTipo;
|
||||
private ServerExplorer.Controls.CustomListView lsvColumnas;
|
||||
private System.Windows.Forms.ColumnHeader colNombreColumna;
|
||||
private System.Windows.Forms.ColumnHeader colTipoDatos;
|
||||
private System.Windows.Forms.ColumnHeader colTamanho;
|
||||
private System.Windows.Forms.MenuStrip menuBaseDatos;
|
||||
private System.Windows.Forms.ToolStripMenuItem archivoToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuCargar;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuGuardar;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuConfiguracion;
|
||||
private System.Windows.Forms.ColumnHeader colClave;
|
||||
private System.Windows.Forms.Button btnGenerar;
|
||||
private System.Windows.Forms.Button btnVerDatos;
|
||||
private System.Windows.Forms.Label lblTituloTabla;
|
||||
private System.Windows.Forms.Label lblTituloDB;
|
||||
private System.Windows.Forms.Button btnDocGen;
|
||||
private System.Windows.Forms.Button btnProcs;
|
||||
private System.Windows.Forms.Button btnExec;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
}
|
||||
}
|
||||
346
ServerExplorer/UI/FrmBaseDatos.cs
Normal file
346
ServerExplorer/UI/FrmBaseDatos.cs
Normal file
@@ -0,0 +1,346 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Xml.Serialization;
|
||||
using System.Threading;
|
||||
using ServerExplorer.Code;
|
||||
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
public partial class FrmBaseDatos : Form
|
||||
{
|
||||
private FrmBaseDatos instancia;
|
||||
private SqlConnection cnx;
|
||||
private Config config;
|
||||
private String tableSchema = null;
|
||||
private String tableName = null;
|
||||
|
||||
private void Initialize()
|
||||
{
|
||||
// Establecer conexion
|
||||
txtConString.Text = config.ConnectionString;
|
||||
cnx = new SqlConnection(config.ConnectionString);
|
||||
|
||||
// Obtener lista de tablas
|
||||
cnx.Open();
|
||||
DataTable dt = cnx.GetSchema("Tables");
|
||||
cnx.Close();
|
||||
|
||||
// Mostrar todas las tablas
|
||||
lsvTablas.Items.Clear();
|
||||
foreach (DataRow dr in dt.Rows)
|
||||
{
|
||||
ListViewItem item = lsvTablas.Items.Add((String)dr["TABLE_NAME"]);
|
||||
item.SubItems.Add((String)dr["TABLE_SCHEMA"]);
|
||||
item.SubItems.Add((String)dr["TABLE_TYPE"]);
|
||||
}
|
||||
TablesToListView();
|
||||
|
||||
// Limpiar Columnas
|
||||
lsvColumnas.Items.Clear();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Metodo para copiar las tablas seleccionadas en el listview a la configuracion
|
||||
/// </summary>
|
||||
private void TablesFromListView()
|
||||
{
|
||||
config.Tablas.Clear();
|
||||
foreach (ListViewItem item in lsvTablas.Items)
|
||||
{
|
||||
if (item.Checked)
|
||||
{
|
||||
config.Tablas.Add(new TablaInfo
|
||||
{
|
||||
Esquema = item.SubItems[1].Text,
|
||||
Nombre = item.SubItems[0].Text
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Metodo para seleccionar las tablas en le listview desde la configuracion
|
||||
/// </summary>
|
||||
private void TablesToListView()
|
||||
{
|
||||
int i, j, n;
|
||||
|
||||
// Desmarcar todos en caso de no haber ninguna tabla
|
||||
if (config.Tablas.Count == 0)
|
||||
{
|
||||
foreach (ListViewItem item in lsvTablas.Items)
|
||||
item.Checked = false;
|
||||
return;
|
||||
}
|
||||
|
||||
// Recorrer items marcando los que estan en la configuracion
|
||||
n = config.Tablas.Count;
|
||||
i = j = 0;
|
||||
foreach (ListViewItem item in lsvTablas.Items)
|
||||
{
|
||||
item.Checked = false;
|
||||
String tablename =
|
||||
item.SubItems[1].Text + // Esquema
|
||||
item.SubItems[0].Text; // Nombre tabla
|
||||
do
|
||||
{
|
||||
if (config.Tablas[i].Esquema.
|
||||
CompareTo(item.SubItems[1].Text) == 0 &&
|
||||
config.Tablas[i].Nombre.
|
||||
CompareTo(item.SubItems[0].Text) == 0)
|
||||
{
|
||||
item.Checked = true;
|
||||
break;
|
||||
}
|
||||
i = (i + 1) % n;
|
||||
} while (i != j);
|
||||
j = i;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public DatabaseDesc CrearDatabaseDesc()
|
||||
{
|
||||
DatabaseDesc db = new DatabaseDesc { Nombre = cnx.Database };
|
||||
foreach (TablaInfo t in config.Tablas)
|
||||
{
|
||||
TablaDesc td = new TablaDesc();
|
||||
td.FillDesc(t.Esquema, t.Nombre, cnx);
|
||||
db.Tablas.Add(td);
|
||||
}
|
||||
return (db);
|
||||
}
|
||||
|
||||
public FrmBaseDatos(String ConnectionString)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
instancia = this;
|
||||
config = new Config();
|
||||
config.ConnectionString = ConnectionString;
|
||||
}
|
||||
|
||||
public FrmBaseDatos(Config config)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
instancia = this;
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void frmBaseDatos_Load(object sender, EventArgs e)
|
||||
{
|
||||
Initialize();
|
||||
|
||||
// Establecer titulos
|
||||
lblTituloDB.Text = cnx.Database;
|
||||
lblTituloTabla.Text = "";
|
||||
}
|
||||
|
||||
private void btnCopiarConString_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Copiar la cadena de conexion al portapapeles
|
||||
System.Windows.Forms.Clipboard.SetText(txtConString.Text);
|
||||
}
|
||||
|
||||
private void lsvTablas_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (lsvTablas.SelectedItems.Count == 1)
|
||||
{
|
||||
// Determinar tabla seleccionada
|
||||
ListViewItem item = lsvTablas.SelectedItems[0];
|
||||
|
||||
// Recordar tabla seleccionada
|
||||
tableSchema = item.SubItems[1].Text.ToString();
|
||||
tableName = item.SubItems[0].Text.ToString();
|
||||
|
||||
// Establecer titulo de la lista de columnas
|
||||
lblTituloTabla.Text = tableSchema + "." + tableName;
|
||||
|
||||
// Obtener descripcion de tabla
|
||||
TablaDesc td = new TablaDesc();
|
||||
td.FillDesc(item.SubItems[1].Text, item.SubItems[0].Text, cnx);
|
||||
|
||||
// Mostrar "columnas" de las tablas
|
||||
lsvColumnas.Items.Clear();
|
||||
foreach (ColumnaDesc col in td.Columnas)
|
||||
{
|
||||
ListViewItem subitem = lsvColumnas.Items.Add(col.Nombre);
|
||||
subitem.SubItems.Add(col.Tipo);
|
||||
if (col.Tamanho >= 0)
|
||||
{
|
||||
subitem.SubItems.Add(String.Format("{0}", col.Tamanho));
|
||||
}
|
||||
else
|
||||
{
|
||||
subitem.SubItems.Add("");
|
||||
}
|
||||
if (col.Primaria)
|
||||
{
|
||||
subitem.SubItems.Add("PK");
|
||||
}
|
||||
else
|
||||
{
|
||||
subitem.SubItems.Add("");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void menuCargar_Click(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog dialogo = new OpenFileDialog();
|
||||
if (dialogo.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
config = Config.Cargar(dialogo.FileName);
|
||||
Initialize();
|
||||
}
|
||||
}
|
||||
|
||||
private void menuGuardar_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog dialogo = new SaveFileDialog();
|
||||
if (dialogo.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
TablesFromListView();
|
||||
config.Guardar(dialogo.FileName);
|
||||
}
|
||||
}
|
||||
|
||||
private void menuConfiguracion_Click(object sender, EventArgs e)
|
||||
{
|
||||
//// Llamar a la ventana de configuracion
|
||||
//FrmCodeGenConfig frm = new FrmCodeGenConfig(config);
|
||||
//frm.ShowDialog();
|
||||
}
|
||||
|
||||
private void btnVerDatos_Click(object sender, EventArgs e)
|
||||
{
|
||||
String nombreTabla;
|
||||
DataTable dt;
|
||||
SqlDataAdapter da;
|
||||
|
||||
if (tableSchema == null || tableName == null) { return; }
|
||||
|
||||
nombreTabla = "[" + tableSchema + "].[" + tableName + "]";
|
||||
|
||||
// Obtener un datatable con todos los registros de la tabla.
|
||||
da = new SqlDataAdapter(
|
||||
"select * from " + nombreTabla,
|
||||
cnx);
|
||||
dt = new DataTable();
|
||||
cnx.Open();
|
||||
da.Fill(dt);
|
||||
cnx.Close();
|
||||
|
||||
// Crear y mostrar el formulario de los datos.
|
||||
FrmDatos form = new FrmDatos(dt, nombreTabla);
|
||||
form.MdiParent = this.MdiParent;
|
||||
form.Show();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void btnProcs_Click(object sender, EventArgs e)
|
||||
{
|
||||
/*DataTable dt;
|
||||
SqlDataAdapter da;
|
||||
|
||||
// Obtener un datatable con todos los registros de la tabla.
|
||||
da = new SqlDataAdapter(
|
||||
"SELECT id,name,crdate FROM sysobjects WHERE type = 'P' AND category = 0 ORDER BY name ",
|
||||
cnx);
|
||||
dt = new DataTable();
|
||||
cnx.Open();
|
||||
da.Fill(dt);
|
||||
cnx.Close();
|
||||
|
||||
// Crear y mostrar el formulario de los datos.
|
||||
frmDatos form = new frmDatos(dt, "Procedimientos");
|
||||
form.MdiParent = this.MdiParent;
|
||||
form.Show();*/
|
||||
|
||||
// Crear y mostrar el formulario de los procedimientos.
|
||||
FrmProcedimientos form = new FrmProcedimientos(config.ConnectionString);
|
||||
form.MdiParent = this.MdiParent;
|
||||
form.Show();
|
||||
}
|
||||
|
||||
private void btnExec_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Crear y mostrar el formulario de exec.
|
||||
FrmExec form = new FrmExec(config.ConnectionString);
|
||||
form.MdiParent = this.MdiParent;
|
||||
form.Show();
|
||||
}
|
||||
|
||||
|
||||
private void menuBaseDatos_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void btnGenerar_Click(object sender, EventArgs e)
|
||||
{
|
||||
TablesFromListView();
|
||||
DatabaseDesc db = CrearDatabaseDesc();
|
||||
|
||||
XmlSerializer seriador = new XmlSerializer(typeof(DatabaseDesc));
|
||||
seriador.Serialize(System.Console.Out, db);
|
||||
|
||||
//CodeGen.GenerarCodigo(config, db);
|
||||
}
|
||||
|
||||
private void btnDocGen_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Hacer insensible la ventana
|
||||
this.Parent.Enabled = false;
|
||||
|
||||
// Obtener informacion.
|
||||
TablesFromListView();
|
||||
DatabaseDesc db = CrearDatabaseDesc();
|
||||
|
||||
// Escribir documentacion
|
||||
DocGen.GenerarDocumentacion(db);
|
||||
|
||||
// Hace sensible la ventana
|
||||
this.Parent.Enabled = true;
|
||||
|
||||
/*
|
||||
tablas_delistview();
|
||||
Thread hilo=new Thread(new ThreadStart(instancia.GenerarDoc));
|
||||
hilo.Start();
|
||||
*/
|
||||
}
|
||||
|
||||
public void GenerarDoc()
|
||||
{
|
||||
// Hacer insensible la ventana
|
||||
this.Enabled = false;
|
||||
|
||||
// Obtener informacion.
|
||||
DatabaseDesc db = CrearDatabaseDesc();
|
||||
|
||||
// Escribir documentacion
|
||||
DocGen.GenerarDocumentacion(db);
|
||||
|
||||
// Hace sensible la ventana
|
||||
this.Enabled = true;
|
||||
}
|
||||
|
||||
private void splitContainer1_Panel1_Paint(object sender, PaintEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
126
ServerExplorer/UI/FrmBaseDatos.resx
Normal file
126
ServerExplorer/UI/FrmBaseDatos.resx
Normal file
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="menuBaseDatos.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>41</value>
|
||||
</metadata>
|
||||
</root>
|
||||
71
ServerExplorer/UI/FrmDatos.Designer.cs
generated
Normal file
71
ServerExplorer/UI/FrmDatos.Designer.cs
generated
Normal file
@@ -0,0 +1,71 @@
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
partial class FrmDatos
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.dgvDatos = new System.Windows.Forms.DataGridView();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// dgvDatos
|
||||
//
|
||||
this.dgvDatos.AllowUserToAddRows = false;
|
||||
this.dgvDatos.AllowUserToDeleteRows = false;
|
||||
this.dgvDatos.AllowUserToOrderColumns = true;
|
||||
this.dgvDatos.AllowUserToResizeRows = false;
|
||||
this.dgvDatos.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.dgvDatos.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvDatos.Location = new System.Drawing.Point(12, 12);
|
||||
this.dgvDatos.Name = "dgvDatos";
|
||||
this.dgvDatos.ReadOnly = true;
|
||||
this.dgvDatos.RowHeadersVisible = false;
|
||||
this.dgvDatos.Size = new System.Drawing.Size(347, 308);
|
||||
this.dgvDatos.TabIndex = 0;
|
||||
this.dgvDatos.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDatos_CellContentClick);
|
||||
//
|
||||
// frmDatos
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(371, 332);
|
||||
this.Controls.Add(this.dgvDatos);
|
||||
this.Name = "frmDatos";
|
||||
this.Text = "frmDatos";
|
||||
this.Load += new System.EventHandler(this.frmDatos_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.DataGridView dgvDatos;
|
||||
}
|
||||
}
|
||||
26
ServerExplorer/UI/FrmDatos.cs
Normal file
26
ServerExplorer/UI/FrmDatos.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
public partial class FrmDatos : Form
|
||||
{
|
||||
public FrmDatos(DataTable dt, String titulo)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Text = titulo;
|
||||
dgvDatos.DataSource = dt;
|
||||
}
|
||||
|
||||
private void frmDatos_Load(object sender, EventArgs e) { }
|
||||
|
||||
private void dgvDatos_CellContentClick(object sender, DataGridViewCellEventArgs e) { }
|
||||
}
|
||||
}
|
||||
120
ServerExplorer/UI/FrmDatos.resx
Normal file
120
ServerExplorer/UI/FrmDatos.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
137
ServerExplorer/UI/FrmExec.Designer.cs
generated
Normal file
137
ServerExplorer/UI/FrmExec.Designer.cs
generated
Normal file
@@ -0,0 +1,137 @@
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
partial class FrmExec
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.btnExec = new System.Windows.Forms.Button();
|
||||
this.txtCommand = new System.Windows.Forms.TextBox();
|
||||
this.dgvDatos = new System.Windows.Forms.DataGridView();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.btnGenInserts = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnExec
|
||||
//
|
||||
this.btnExec.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnExec.Location = new System.Drawing.Point(532, 66);
|
||||
this.btnExec.Name = "btnExec";
|
||||
this.btnExec.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnExec.TabIndex = 0;
|
||||
this.btnExec.Text = "Exec";
|
||||
this.btnExec.UseVisualStyleBackColor = true;
|
||||
this.btnExec.Click += new System.EventHandler(this.btnExec_Click);
|
||||
//
|
||||
// txtCommand
|
||||
//
|
||||
this.txtCommand.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtCommand.Font = new System.Drawing.Font("Lucida Console", 8.25F);
|
||||
this.txtCommand.Location = new System.Drawing.Point(3, 3);
|
||||
this.txtCommand.Multiline = true;
|
||||
this.txtCommand.Name = "txtCommand";
|
||||
this.txtCommand.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.txtCommand.Size = new System.Drawing.Size(604, 57);
|
||||
this.txtCommand.TabIndex = 1;
|
||||
//
|
||||
// dgvDatos
|
||||
//
|
||||
this.dgvDatos.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.dgvDatos.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvDatos.Location = new System.Drawing.Point(3, 3);
|
||||
this.dgvDatos.Name = "dgvDatos";
|
||||
this.dgvDatos.Size = new System.Drawing.Size(604, 338);
|
||||
this.dgvDatos.TabIndex = 2;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(12, 12);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnGenInserts);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtCommand);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnExec);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.dgvDatos);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(610, 440);
|
||||
this.splitContainer1.SplitterDistance = 92;
|
||||
this.splitContainer1.TabIndex = 3;
|
||||
//
|
||||
// btnGenInserts
|
||||
//
|
||||
this.btnGenInserts.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnGenInserts.Location = new System.Drawing.Point(424, 66);
|
||||
this.btnGenInserts.Name = "btnGenInserts";
|
||||
this.btnGenInserts.Size = new System.Drawing.Size(102, 23);
|
||||
this.btnGenInserts.TabIndex = 2;
|
||||
this.btnGenInserts.Text = "Genera INSERTs";
|
||||
this.btnGenInserts.UseVisualStyleBackColor = true;
|
||||
this.btnGenInserts.Click += new System.EventHandler(this.btnGenInserts_Click);
|
||||
//
|
||||
// FrmExec
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(634, 464);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Name = "FrmExec";
|
||||
this.Text = "frmExec";
|
||||
this.Load += new System.EventHandler(this.frmExec_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).EndInit();
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.PerformLayout();
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button btnExec;
|
||||
private System.Windows.Forms.TextBox txtCommand;
|
||||
private System.Windows.Forms.DataGridView dgvDatos;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.Button btnGenInserts;
|
||||
}
|
||||
}
|
||||
150
ServerExplorer/UI/FrmExec.cs
Normal file
150
ServerExplorer/UI/FrmExec.cs
Normal file
@@ -0,0 +1,150 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Data.SqlClient;
|
||||
using System.Globalization;
|
||||
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
public partial class FrmExec : Form
|
||||
{
|
||||
private string cnxString;
|
||||
|
||||
|
||||
public FrmExec(string cnxString)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.cnxString = cnxString;
|
||||
}
|
||||
|
||||
private void frmExec_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
private DataTable Exec()
|
||||
{
|
||||
SqlConnection cnx;
|
||||
DataTable dt;
|
||||
SqlDataAdapter da;
|
||||
|
||||
// Establecer conexion
|
||||
cnx = new SqlConnection(cnxString);
|
||||
|
||||
// Obtener resultado en un datatable.
|
||||
da = new SqlDataAdapter(txtCommand.Text, cnx);
|
||||
dt = new DataTable();
|
||||
cnx.Open();
|
||||
da.Fill(dt);
|
||||
cnx.Close();
|
||||
|
||||
return dt;
|
||||
}
|
||||
|
||||
private void btnExec_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Ejecutar consulta
|
||||
DataTable dt = Exec();
|
||||
|
||||
// Mostrar resultados
|
||||
dgvDatos.DataSource = dt;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void btnGenInserts_Click(object sender, EventArgs e)
|
||||
{
|
||||
DataTable dt = new DataTable();
|
||||
DataTable ddt;
|
||||
string destname = String.Empty;
|
||||
NumberFormatInfo nfi = new NumberFormatInfo();
|
||||
|
||||
// Preparar un conversor de formato numerico que use puntos para los decimales
|
||||
nfi.NumberDecimalSeparator = ".";
|
||||
|
||||
// Obtener el nombre de la tabla destino
|
||||
destname = Microsoft.VisualBasic.Interaction.InputBox("Nombre de la tabla destino", "tabla destino", String.Empty,
|
||||
this.Top + (this.Height / 2), this.Left + (this.Width / 2));
|
||||
|
||||
try
|
||||
{
|
||||
// Ejecutar consulta
|
||||
dt = Exec();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
|
||||
// Preparar la datatable destino
|
||||
ddt = new DataTable();
|
||||
ddt.Columns.Add("Comando", typeof(String));
|
||||
|
||||
|
||||
// Recorrer la tabla de datos
|
||||
foreach (DataRow dr in dt.Rows)
|
||||
{
|
||||
string strColumns = String.Empty;
|
||||
string strValues = String.Empty;
|
||||
foreach (DataColumn dc in dt.Columns)
|
||||
{
|
||||
// El nombre de la columna
|
||||
if (strColumns != String.Empty)
|
||||
strColumns += ", ";
|
||||
strColumns += "[" + dc.ColumnName + "]";
|
||||
|
||||
// El valor de la columna
|
||||
if (strValues != String.Empty)
|
||||
strValues += ", ";
|
||||
object valor = dr[dc];
|
||||
if (valor == DBNull.Value)
|
||||
{
|
||||
// NULOS
|
||||
strValues += "NULL";
|
||||
}
|
||||
else
|
||||
if (dc.DataType.Name.ToLower() == "string")
|
||||
{
|
||||
// Cadenas
|
||||
strValues += "'" + ((string)valor).Replace("'", "''") + "'";
|
||||
}
|
||||
else
|
||||
if (dc.DataType.Name.ToLower() == "decimal")
|
||||
{
|
||||
// Decimales
|
||||
strValues += ((decimal)valor).ToString(nfi);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Otros
|
||||
strValues += valor.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
// Insertar fila a la datatable destino
|
||||
ddt.Rows.Add(new object[] {
|
||||
"INSERT INTO " + destname +
|
||||
" (" + strColumns + ") "+
|
||||
"VALUES (" + strValues + ")" });
|
||||
}
|
||||
|
||||
// Establecer el resultado
|
||||
dgvDatos.DataSource = ddt;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
120
ServerExplorer/UI/FrmExec.resx
Normal file
120
ServerExplorer/UI/FrmExec.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
115
ServerExplorer/UI/FrmPrincipal.Designer.cs
generated
Normal file
115
ServerExplorer/UI/FrmPrincipal.Designer.cs
generated
Normal file
@@ -0,0 +1,115 @@
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
partial class FrmPrincipal
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.menuPrincipal = new System.Windows.Forms.MenuStrip();
|
||||
this.menuServidor = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuBuscarServidor = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuBaseDatos = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuConectarA = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuConectarPRUEBAS = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuPrincipal.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// menuPrincipal
|
||||
//
|
||||
this.menuPrincipal.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuServidor,
|
||||
this.menuBaseDatos});
|
||||
this.menuPrincipal.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuPrincipal.Name = "menuPrincipal";
|
||||
this.menuPrincipal.Size = new System.Drawing.Size(800, 24);
|
||||
this.menuPrincipal.TabIndex = 4;
|
||||
this.menuPrincipal.Text = "menuPrincipal";
|
||||
//
|
||||
// menuServidor
|
||||
//
|
||||
this.menuServidor.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuBuscarServidor});
|
||||
this.menuServidor.Name = "menuServidor";
|
||||
this.menuServidor.Size = new System.Drawing.Size(62, 20);
|
||||
this.menuServidor.Text = "Servidor";
|
||||
//
|
||||
// menuBuscarServidor
|
||||
//
|
||||
this.menuBuscarServidor.Name = "menuBuscarServidor";
|
||||
this.menuBuscarServidor.Size = new System.Drawing.Size(155, 22);
|
||||
this.menuBuscarServidor.Text = "Buscar Servidor";
|
||||
this.menuBuscarServidor.Click += new System.EventHandler(this.menuBuscarServidor_Click);
|
||||
//
|
||||
// menuBaseDatos
|
||||
//
|
||||
this.menuBaseDatos.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuConectarA,
|
||||
this.menuConectarPRUEBAS});
|
||||
this.menuBaseDatos.Name = "menuBaseDatos";
|
||||
this.menuBaseDatos.Size = new System.Drawing.Size(92, 20);
|
||||
this.menuBaseDatos.Text = "Base de Datos";
|
||||
//
|
||||
// menuConectarA
|
||||
//
|
||||
this.menuConectarA.Name = "menuConectarA";
|
||||
this.menuConectarA.Size = new System.Drawing.Size(183, 22);
|
||||
this.menuConectarA.Text = "Conectar a...";
|
||||
this.menuConectarA.Click += new System.EventHandler(this.menuConectarA_Click);
|
||||
//
|
||||
// menuConectarPRUEBAS
|
||||
//
|
||||
this.menuConectarPRUEBAS.Name = "menuConectarPRUEBAS";
|
||||
this.menuConectarPRUEBAS.Size = new System.Drawing.Size(183, 22);
|
||||
this.menuConectarPRUEBAS.Text = "Conectar a PRUEBAS";
|
||||
this.menuConectarPRUEBAS.Click += new System.EventHandler(this.menuConectarPRUEBAS_Click);
|
||||
//
|
||||
// frmPrincipal
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(800, 601);
|
||||
this.Controls.Add(this.menuPrincipal);
|
||||
this.IsMdiContainer = true;
|
||||
this.MainMenuStrip = this.menuPrincipal;
|
||||
this.Name = "frmPrincipal";
|
||||
this.Text = "Explorador de Servidores";
|
||||
this.menuPrincipal.ResumeLayout(false);
|
||||
this.menuPrincipal.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.MenuStrip menuPrincipal;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuServidor;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuBuscarServidor;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuBaseDatos;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuConectarA;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuConectarPRUEBAS;
|
||||
}
|
||||
}
|
||||
55
ServerExplorer/UI/FrmPrincipal.cs
Normal file
55
ServerExplorer/UI/FrmPrincipal.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using ServerExplorer.Code;
|
||||
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
public partial class FrmPrincipal : Form
|
||||
{
|
||||
public FrmPrincipal()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void menuConectarPRUEBAS_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Crear ventana de la base de datos de pruebas
|
||||
FrmBaseDatos frm = new FrmBaseDatos("Data Source=SSSRV3;Initial Catalog=PRUEBAS;User ID=sa;Password=SLsssrv3");
|
||||
//frmBaseDatos frm = new frmBaseDatos("Data Source=DANTE;Initial Catalog=BD_AlfonsoRodriguez;Integrated Security=True");
|
||||
//frmBaseDatos frm = new frmBaseDatos("Data Source=OSKURITO;Initial Catalog=BD_AlfonsoRodriguez;Integrated Security=True");
|
||||
frm.MdiParent = this;
|
||||
frm.WindowState = FormWindowState.Maximized;
|
||||
frm.Show();
|
||||
}
|
||||
|
||||
private void menuBuscarServidor_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Mostrar ventana de buscador de servidores
|
||||
FrmServidores frm = new FrmServidores();
|
||||
frm.MdiParent = this;
|
||||
frm.Show();
|
||||
}
|
||||
|
||||
private void menuConectarA_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Cargar configuracion
|
||||
OpenFileDialog dialogo = new OpenFileDialog();
|
||||
if (dialogo.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Config config = Config.Cargar(dialogo.FileName);
|
||||
|
||||
// Crear y mostrar ventana
|
||||
FrmBaseDatos frm = new FrmBaseDatos(config);
|
||||
frm.MdiParent = this;
|
||||
frm.WindowState = FormWindowState.Maximized;
|
||||
frm.Show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
123
ServerExplorer/UI/FrmPrincipal.resx
Normal file
123
ServerExplorer/UI/FrmPrincipal.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="menuPrincipal.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
139
ServerExplorer/UI/FrmProcedimientos.Designer.cs
generated
Normal file
139
ServerExplorer/UI/FrmProcedimientos.Designer.cs
generated
Normal file
@@ -0,0 +1,139 @@
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
partial class FrmProcedimientos
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.lsvProcs = new ServerExplorer.Controls.CustomListView();
|
||||
this.colNombre = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colFecha = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colTipo = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.txtProc = new System.Windows.Forms.TextBox();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lsvProcs
|
||||
//
|
||||
this.lsvProcs.Activation = System.Windows.Forms.ItemActivation.OneClick;
|
||||
this.lsvProcs.AllowSorting = true;
|
||||
this.lsvProcs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lsvProcs.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.colNombre,
|
||||
this.colFecha,
|
||||
this.colTipo});
|
||||
this.lsvProcs.Font = new System.Drawing.Font("Lucida Console", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lsvProcs.FullRowSelect = true;
|
||||
this.lsvProcs.GridLines = true;
|
||||
this.lsvProcs.Location = new System.Drawing.Point(0, 0);
|
||||
this.lsvProcs.Name = "lsvProcs";
|
||||
this.lsvProcs.Size = new System.Drawing.Size(261, 369);
|
||||
this.lsvProcs.Sorting = System.Windows.Forms.SortOrder.Ascending;
|
||||
this.lsvProcs.TabIndex = 0;
|
||||
this.lsvProcs.UseCompatibleStateImageBehavior = false;
|
||||
this.lsvProcs.View = System.Windows.Forms.View.Details;
|
||||
this.lsvProcs.SelectedIndexChanged += new System.EventHandler(this.lsvProcs_SelectedIndexChanged);
|
||||
//
|
||||
// colNombre
|
||||
//
|
||||
this.colNombre.Text = "Nombre";
|
||||
this.colNombre.Width = 120;
|
||||
//
|
||||
// colFecha
|
||||
//
|
||||
this.colFecha.Text = "Fecha";
|
||||
this.colFecha.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
|
||||
this.colFecha.Width = 84;
|
||||
//
|
||||
// colTipo
|
||||
//
|
||||
this.colTipo.Text = "Tipo";
|
||||
//
|
||||
// txtProc
|
||||
//
|
||||
this.txtProc.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtProc.Font = new System.Drawing.Font("Lucida Console", 8.25F);
|
||||
this.txtProc.Location = new System.Drawing.Point(3, 3);
|
||||
this.txtProc.Multiline = true;
|
||||
this.txtProc.Name = "txtProc";
|
||||
this.txtProc.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.txtProc.Size = new System.Drawing.Size(309, 366);
|
||||
this.txtProc.TabIndex = 1;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(12, 12);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.lsvProcs);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.txtProc);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(583, 372);
|
||||
this.splitContainer1.SplitterDistance = 264;
|
||||
this.splitContainer1.TabIndex = 2;
|
||||
//
|
||||
// FrmProcedimientos
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(607, 396);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Name = "FrmProcedimientos";
|
||||
this.Text = "frmProcedimientos";
|
||||
this.Load += new System.EventHandler(this.frmProcedimientos_Load);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.PerformLayout();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private ServerExplorer.Controls.CustomListView lsvProcs;
|
||||
private System.Windows.Forms.ColumnHeader colNombre;
|
||||
private System.Windows.Forms.ColumnHeader colFecha;
|
||||
private System.Windows.Forms.TextBox txtProc;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.ColumnHeader colTipo;
|
||||
}
|
||||
}
|
||||
109
ServerExplorer/UI/FrmProcedimientos.cs
Normal file
109
ServerExplorer/UI/FrmProcedimientos.cs
Normal file
@@ -0,0 +1,109 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Collections;
|
||||
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
public partial class FrmProcedimientos : Form
|
||||
{
|
||||
private string cnxString;
|
||||
private SqlConnection cnx;
|
||||
|
||||
public FrmProcedimientos(string cnxString)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.cnxString = cnxString;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void frmProcedimientos_Load(object sender, EventArgs e)
|
||||
{
|
||||
DataTable dt;
|
||||
SqlDataAdapter da;
|
||||
|
||||
// Establecer conexion
|
||||
cnx = new SqlConnection(cnxString);
|
||||
|
||||
// Obtener un datatable con todos los procedimientos de la base de datos.
|
||||
da = new SqlDataAdapter(
|
||||
"SELECT id,name,crdate,type FROM sysobjects " +
|
||||
"WHERE (UPPER(type) = 'P' OR UPPER(type) = 'TF' OR UPPER(type) = 'TR' OR UPPER(type) = 'V') AND category = 0 " +
|
||||
"ORDER BY name ",
|
||||
cnx);
|
||||
dt = new DataTable();
|
||||
cnx.Open();
|
||||
da.Fill(dt);
|
||||
cnx.Close();
|
||||
|
||||
// Mostrar todos los procedimientos
|
||||
lsvProcs.Items.Clear();
|
||||
foreach (DataRow dr in dt.Rows)
|
||||
{
|
||||
ListViewItem item = lsvProcs.Items.Add((String)dr["name"]);
|
||||
item.SubItems.Add(((DateTime)dr["crdate"]).ToShortDateString());
|
||||
string type = ((string)dr["type"]).ToUpper().Trim();
|
||||
if (type == "P")
|
||||
{
|
||||
item.SubItems.Add("Proc");
|
||||
}
|
||||
else if (type == "TF")
|
||||
{
|
||||
item.SubItems.Add("Func");
|
||||
}
|
||||
else if (type == "TR")
|
||||
{
|
||||
item.SubItems.Add("Trigg");
|
||||
}
|
||||
else if (type == "V")
|
||||
{
|
||||
item.SubItems.Add("View");
|
||||
}
|
||||
else
|
||||
{
|
||||
item.SubItems.Add("Unk: \"" + (string)dr["type"] + "\"");
|
||||
}
|
||||
item.Tag = dr["id"];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void lsvProcs_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (lsvProcs.SelectedItems.Count > 0)
|
||||
{
|
||||
DataTable dt;
|
||||
SqlDataAdapter da;
|
||||
int id = (int)lsvProcs.SelectedItems[0].Tag;
|
||||
|
||||
// Obtener un datatable con el contenido del procedimiento.
|
||||
da = new SqlDataAdapter(
|
||||
"SELECT text FROM syscomments WHERE id = @id ORDER BY colid",
|
||||
cnx);
|
||||
da.SelectCommand.Parameters.AddWithValue("@id", id);
|
||||
dt = new DataTable();
|
||||
cnx.Open();
|
||||
da.Fill(dt);
|
||||
cnx.Close();
|
||||
|
||||
// Mostrar el contenido del procedimiento
|
||||
txtProc.Text = String.Empty;
|
||||
foreach (DataRow dr in dt.Rows)
|
||||
{
|
||||
txtProc.Text += ((string)dr[0]).Replace("\r", "").Replace("\n", "\r\n");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
120
ServerExplorer/UI/FrmProcedimientos.resx
Normal file
120
ServerExplorer/UI/FrmProcedimientos.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
258
ServerExplorer/UI/FrmServidores.Designer.cs
generated
Normal file
258
ServerExplorer/UI/FrmServidores.Designer.cs
generated
Normal file
@@ -0,0 +1,258 @@
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
partial class FrmServidores
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.lsvServidores = new ServerExplorer.Controls.CustomListView();
|
||||
this.colNombreServidor = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colInstancia = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colVersion = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.btnListarServidores = new System.Windows.Forms.Button();
|
||||
this.lblServidor = new System.Windows.Forms.Label();
|
||||
this.txtServidor = new System.Windows.Forms.TextBox();
|
||||
this.lblUsuario = new System.Windows.Forms.Label();
|
||||
this.lblContrasenha = new System.Windows.Forms.Label();
|
||||
this.txtUsuario = new System.Windows.Forms.TextBox();
|
||||
this.TxtContrasenha = new System.Windows.Forms.TextBox();
|
||||
this.btnListarBBDD = new System.Windows.Forms.Button();
|
||||
this.lsvBBDD = new ServerExplorer.Controls.CustomListView();
|
||||
this.colDBName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.colFechaCreacion = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lsvServidores
|
||||
//
|
||||
this.lsvServidores.AllowSorting = true;
|
||||
this.lsvServidores.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lsvServidores.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.colNombreServidor,
|
||||
this.colInstancia,
|
||||
this.colVersion});
|
||||
this.lsvServidores.FullRowSelect = true;
|
||||
this.lsvServidores.Location = new System.Drawing.Point(3, 32);
|
||||
this.lsvServidores.Name = "lsvServidores";
|
||||
this.lsvServidores.Size = new System.Drawing.Size(306, 386);
|
||||
this.lsvServidores.TabIndex = 1;
|
||||
this.lsvServidores.UseCompatibleStateImageBehavior = false;
|
||||
this.lsvServidores.View = System.Windows.Forms.View.Details;
|
||||
this.lsvServidores.SelectedIndexChanged += new System.EventHandler(this.lsvServidores_SelectedIndexChanged);
|
||||
//
|
||||
// colNombreServidor
|
||||
//
|
||||
this.colNombreServidor.Text = "Servidor";
|
||||
this.colNombreServidor.Width = 110;
|
||||
//
|
||||
// colInstancia
|
||||
//
|
||||
this.colInstancia.Text = "Instancia";
|
||||
this.colInstancia.Width = 94;
|
||||
//
|
||||
// colVersion
|
||||
//
|
||||
this.colVersion.Text = "Version";
|
||||
this.colVersion.Width = 73;
|
||||
//
|
||||
// btnListarServidores
|
||||
//
|
||||
this.btnListarServidores.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnListarServidores.Location = new System.Drawing.Point(3, 3);
|
||||
this.btnListarServidores.Name = "btnListarServidores";
|
||||
this.btnListarServidores.Size = new System.Drawing.Size(306, 23);
|
||||
this.btnListarServidores.TabIndex = 2;
|
||||
this.btnListarServidores.Text = "Listar Servidores";
|
||||
this.btnListarServidores.UseVisualStyleBackColor = true;
|
||||
this.btnListarServidores.Click += new System.EventHandler(this.btnListarServidores_Click);
|
||||
//
|
||||
// lblServidor
|
||||
//
|
||||
this.lblServidor.AutoSize = true;
|
||||
this.lblServidor.Location = new System.Drawing.Point(3, 8);
|
||||
this.lblServidor.Name = "lblServidor";
|
||||
this.lblServidor.Size = new System.Drawing.Size(46, 13);
|
||||
this.lblServidor.TabIndex = 3;
|
||||
this.lblServidor.Text = "Servidor";
|
||||
//
|
||||
// txtServidor
|
||||
//
|
||||
this.txtServidor.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtServidor.Location = new System.Drawing.Point(70, 6);
|
||||
this.txtServidor.Name = "txtServidor";
|
||||
this.txtServidor.Size = new System.Drawing.Size(218, 20);
|
||||
this.txtServidor.TabIndex = 4;
|
||||
//
|
||||
// lblUsuario
|
||||
//
|
||||
this.lblUsuario.AutoSize = true;
|
||||
this.lblUsuario.Location = new System.Drawing.Point(3, 35);
|
||||
this.lblUsuario.Name = "lblUsuario";
|
||||
this.lblUsuario.Size = new System.Drawing.Size(43, 13);
|
||||
this.lblUsuario.TabIndex = 5;
|
||||
this.lblUsuario.Text = "Usuario";
|
||||
//
|
||||
// lblContrasenha
|
||||
//
|
||||
this.lblContrasenha.AutoSize = true;
|
||||
this.lblContrasenha.Location = new System.Drawing.Point(3, 61);
|
||||
this.lblContrasenha.Name = "lblContrasenha";
|
||||
this.lblContrasenha.Size = new System.Drawing.Size(61, 13);
|
||||
this.lblContrasenha.TabIndex = 6;
|
||||
this.lblContrasenha.Text = "Contraseña";
|
||||
//
|
||||
// txtUsuario
|
||||
//
|
||||
this.txtUsuario.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtUsuario.Location = new System.Drawing.Point(70, 32);
|
||||
this.txtUsuario.Name = "txtUsuario";
|
||||
this.txtUsuario.Size = new System.Drawing.Size(218, 20);
|
||||
this.txtUsuario.TabIndex = 7;
|
||||
//
|
||||
// TxtContrasenha
|
||||
//
|
||||
this.TxtContrasenha.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.TxtContrasenha.Location = new System.Drawing.Point(70, 58);
|
||||
this.TxtContrasenha.Name = "TxtContrasenha";
|
||||
this.TxtContrasenha.Size = new System.Drawing.Size(218, 20);
|
||||
this.TxtContrasenha.TabIndex = 8;
|
||||
this.TxtContrasenha.UseSystemPasswordChar = true;
|
||||
//
|
||||
// btnListarBBDD
|
||||
//
|
||||
this.btnListarBBDD.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnListarBBDD.Location = new System.Drawing.Point(6, 84);
|
||||
this.btnListarBBDD.Name = "btnListarBBDD";
|
||||
this.btnListarBBDD.Size = new System.Drawing.Size(282, 23);
|
||||
this.btnListarBBDD.TabIndex = 9;
|
||||
this.btnListarBBDD.Text = "Listar BBDD";
|
||||
this.btnListarBBDD.UseVisualStyleBackColor = true;
|
||||
this.btnListarBBDD.Click += new System.EventHandler(this.btnListarBBDD_Click);
|
||||
//
|
||||
// lsvBBDD
|
||||
//
|
||||
this.lsvBBDD.AllowSorting = true;
|
||||
this.lsvBBDD.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lsvBBDD.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.colDBName,
|
||||
this.colFechaCreacion});
|
||||
this.lsvBBDD.FullRowSelect = true;
|
||||
this.lsvBBDD.Location = new System.Drawing.Point(6, 113);
|
||||
this.lsvBBDD.Name = "lsvBBDD";
|
||||
this.lsvBBDD.Size = new System.Drawing.Size(282, 305);
|
||||
this.lsvBBDD.TabIndex = 11;
|
||||
this.lsvBBDD.UseCompatibleStateImageBehavior = false;
|
||||
this.lsvBBDD.View = System.Windows.Forms.View.Details;
|
||||
this.lsvBBDD.DoubleClick += new System.EventHandler(this.lsvBBDD_DoubleClick);
|
||||
//
|
||||
// colDBName
|
||||
//
|
||||
this.colDBName.Text = "Base de Datos";
|
||||
this.colDBName.Width = 165;
|
||||
//
|
||||
// colFechaCreacion
|
||||
//
|
||||
this.colFechaCreacion.Text = "Fecha de Creacion";
|
||||
this.colFechaCreacion.Width = 107;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.splitContainer1.Location = new System.Drawing.Point(12, 12);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.lsvServidores);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnListarServidores);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.lblServidor);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.lsvBBDD);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.txtServidor);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnListarBBDD);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.lblUsuario);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.lblContrasenha);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.TxtContrasenha);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.txtUsuario);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(607, 421);
|
||||
this.splitContainer1.SplitterDistance = 312;
|
||||
this.splitContainer1.TabIndex = 12;
|
||||
//
|
||||
// FrmServidores
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(631, 445);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Name = "FrmServidores";
|
||||
this.Text = "Servidores";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.PerformLayout();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private ServerExplorer.Controls.CustomListView lsvServidores;
|
||||
private System.Windows.Forms.Button btnListarServidores;
|
||||
private System.Windows.Forms.ColumnHeader colNombreServidor;
|
||||
private System.Windows.Forms.ColumnHeader colInstancia;
|
||||
private System.Windows.Forms.ColumnHeader colVersion;
|
||||
private System.Windows.Forms.Label lblServidor;
|
||||
private System.Windows.Forms.TextBox txtServidor;
|
||||
private System.Windows.Forms.Label lblUsuario;
|
||||
private System.Windows.Forms.Label lblContrasenha;
|
||||
private System.Windows.Forms.TextBox txtUsuario;
|
||||
private System.Windows.Forms.TextBox TxtContrasenha;
|
||||
private System.Windows.Forms.Button btnListarBBDD;
|
||||
private ServerExplorer.Controls.CustomListView lsvBBDD;
|
||||
private System.Windows.Forms.ColumnHeader colDBName;
|
||||
private System.Windows.Forms.ColumnHeader colFechaCreacion;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
135
ServerExplorer/UI/FrmServidores.cs
Normal file
135
ServerExplorer/UI/FrmServidores.cs
Normal file
@@ -0,0 +1,135 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Data.Sql;
|
||||
using System.Data.SqlClient;
|
||||
using System.Data.SqlTypes;
|
||||
|
||||
namespace ServerExplorer.UI
|
||||
{
|
||||
public partial class FrmServidores : Form
|
||||
{
|
||||
public FrmServidores()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void btnListarServidores_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Obtener listado de servidores
|
||||
SqlDataSourceEnumerator enumerador = SqlDataSourceEnumerator.Instance;
|
||||
DataTable servidores = enumerador.GetDataSources();
|
||||
lsvServidores.Items.Clear();
|
||||
lsvBBDD.Items.Clear();
|
||||
foreach (DataRow dr in servidores.Rows)
|
||||
{
|
||||
// Nombre del servidor
|
||||
ListViewItem item = lsvServidores.Items.Add((String)dr["ServerName"]);
|
||||
|
||||
// Nombre de la instancia
|
||||
if (dr["InstanceName"] == System.DBNull.Value)
|
||||
{
|
||||
item.SubItems.Add("");
|
||||
}
|
||||
else
|
||||
{
|
||||
item.SubItems.Add((String)dr["InstanceName"]);
|
||||
}
|
||||
|
||||
// Numero de version
|
||||
if (dr["Version"] == System.DBNull.Value)
|
||||
{
|
||||
item.SubItems.Add("???");
|
||||
}
|
||||
else
|
||||
{
|
||||
item.SubItems.Add((String)dr["Version"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void lsvServidores_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (lsvServidores.SelectedItems.Count > 0)
|
||||
{
|
||||
ListViewItem item = lsvServidores.SelectedItems[0];
|
||||
if (item.SubItems[1].Text.CompareTo("") == 0)
|
||||
{
|
||||
// Servidor sin subinstancias
|
||||
txtServidor.Text = item.SubItems[0].Text;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Servidor con subinstancias
|
||||
txtServidor.Text = item.SubItems[0].Text + "/" + item.SubItems[1].Text;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnListarBBDD_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Construir cadena de conexion
|
||||
SqlConnectionStringBuilder constructor = new SqlConnectionStringBuilder();
|
||||
constructor.DataSource = txtServidor.Text;
|
||||
if (String.IsNullOrEmpty(txtUsuario.Text))
|
||||
{
|
||||
constructor.IntegratedSecurity = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
constructor.UserID = txtUsuario.Text;
|
||||
constructor.Password = TxtContrasenha.Text;
|
||||
}
|
||||
|
||||
// Obtener todas las bases de datos
|
||||
SqlConnection cnx = new SqlConnection(constructor.ConnectionString);
|
||||
cnx.Open();
|
||||
DataTable dt = cnx.GetSchema("Databases");
|
||||
cnx.Close();
|
||||
|
||||
|
||||
// Mostrar bases de datos
|
||||
lsvBBDD.Items.Clear();
|
||||
foreach (DataRow dr in dt.Rows)
|
||||
{
|
||||
ListViewItem item = lsvBBDD.Items.Add((String)dr["database_name"]);
|
||||
item.SubItems.Add(((DateTime)dr["create_date"]).ToShortDateString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void lsvBBDD_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
if (lsvBBDD.SelectedItems.Count == 1)
|
||||
{
|
||||
// Construir cadena de conexion final
|
||||
SqlConnectionStringBuilder constructor = new SqlConnectionStringBuilder();
|
||||
constructor.DataSource = txtServidor.Text;
|
||||
constructor.InitialCatalog = (String)lsvBBDD.SelectedItems[0].SubItems[0].Text;
|
||||
if (txtUsuario.Text.CompareTo("") == 0)
|
||||
{
|
||||
constructor.IntegratedSecurity = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
constructor.UserID = txtUsuario.Text;
|
||||
constructor.Password = TxtContrasenha.Text;
|
||||
}
|
||||
|
||||
// Llamar a la venta de la base de datos
|
||||
FrmBaseDatos frm = new FrmBaseDatos(constructor.ConnectionString);
|
||||
frm.MdiParent = this.MdiParent;
|
||||
frm.Show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
120
ServerExplorer/UI/FrmServidores.resx
Normal file
120
ServerExplorer/UI/FrmServidores.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
Reference in New Issue
Block a user