Miscellaneous changes. Keep original end of line characters.

This commit is contained in:
2015-06-07 01:52:30 +02:00
parent ae8ce4a213
commit 7983598bbe
43 changed files with 4038 additions and 3839 deletions

14
.gitignore vendored
View File

@@ -1,7 +1,7 @@
*.suo *.suo
*.exe *.exe
*.dll *.dll
*.pdb *.pdb
*.user *.user
ServerExplorer/obj ServerExplorer/obj
ServerExplorer/bin ServerExplorer/bin

View File

@@ -1,20 +1,20 @@
Microsoft Visual Studio Solution File, Format Version 11.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010 # Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerExplorer", "ServerExplorer\ServerExplorer.csproj", "{79531B74-3062-4A71-9953-5702BEBDEC0E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerExplorer", "ServerExplorer\ServerExplorer.csproj", "{79531B74-3062-4A71-9953-5702BEBDEC0E}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{79531B74-3062-4A71-9953-5702BEBDEC0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {79531B74-3062-4A71-9953-5702BEBDEC0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{79531B74-3062-4A71-9953-5702BEBDEC0E}.Debug|Any CPU.Build.0 = Debug|Any CPU {79531B74-3062-4A71-9953-5702BEBDEC0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{79531B74-3062-4A71-9953-5702BEBDEC0E}.Release|Any CPU.ActiveCfg = Release|Any CPU {79531B74-3062-4A71-9953-5702BEBDEC0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{79531B74-3062-4A71-9953-5702BEBDEC0E}.Release|Any CPU.Build.0 = Release|Any CPU {79531B74-3062-4A71-9953-5702BEBDEC0E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

View File

@@ -1,68 +1,68 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Xml.Serialization; using System.Xml.Serialization;
namespace ServerExplorer.Code namespace ServerExplorer.Code
{ {
[Serializable] [Serializable]
public class Config public class Config
{ {
#region Data parameters #region Data parameters
private string _conString = ""; private string _conString = "";
[XmlAttribute("ConnectionString")] [XmlAttribute("ConnectionString")]
public string ConnectionString public string ConnectionString
{ {
get { return _conString; } get { return _conString; }
set { _conString = value; } set { _conString = value; }
} }
private readonly List<TablaInfo> _tablas = new List<TablaInfo>(); private readonly List<TablaInfo> _tablas = new List<TablaInfo>();
[XmlArray("Tablas")] [XmlArray("Tablas")]
public List<TablaInfo> Tablas { get { return _tablas; } } public List<TablaInfo> Tablas { get { return _tablas; } }
#endregion #endregion
#region Persistence methods #region Persistence methods
public void Guardar(String fichero) public void Guardar(String fichero)
{ {
var seriador = new XmlSerializer(typeof(Config)); var seriador = new XmlSerializer(typeof(Config));
var escritor = new StreamWriter(fichero); var escritor = new StreamWriter(fichero);
seriador.Serialize(escritor, this); seriador.Serialize(escritor, this);
escritor.Close(); escritor.Close();
} }
public static Config Cargar(String fichero) public static Config Cargar(String fichero)
{ {
var seriador = new XmlSerializer(typeof(Config)); var seriador = new XmlSerializer(typeof(Config));
var lector = new StreamReader(fichero); var lector = new StreamReader(fichero);
var config = (Config)seriador.Deserialize(lector); var config = (Config)seriador.Deserialize(lector);
lector.Close(); lector.Close();
return config; return config;
} }
#endregion #endregion
} }
[Serializable] [Serializable]
public class TablaInfo public class TablaInfo
{ {
private string _esquema = string.Empty; private string _esquema = string.Empty;
[XmlAttribute("Esquema")] [XmlAttribute("Esquema")]
public string Esquema public string Esquema
{ {
get { return _esquema; } get { return _esquema; }
set { _esquema = value; } set { _esquema = value; }
} }
private string _nombre = string.Empty; private string _nombre = string.Empty;
[XmlAttribute("Nombre")] [XmlAttribute("Nombre")]
public string Nombre public string Nombre
{ {
get { return _nombre; } get { return _nombre; }
set { _nombre = value; } set { _nombre = value; }
} }
} }
} }

View File

@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using ServerExplorer.Code.DataTransfer;
namespace ServerExplorer.Code.DataAccess
{
class DatabaseDA
{
public static List<Database> Database_GetRegs(string conexionString)
{
var databases = new List<Database>();
var cnx = new SqlConnection(conexionString);
cnx.Open();
DataTable dt = cnx.GetSchema("Databases");
cnx.Close();
foreach (DataRow dr in dt.Rows)
{
databases.Add(new Database
{
Name = (String) dr["database_name"],
CreateDate = (DateTime) dr["create_date"]
});
}
return databases;
}
}
}

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Sql;
using ServerExplorer.Code.DataTransfer;
namespace ServerExplorer.Code.DataAccess
{
class ServerDA
{
public static List<Server> Server_GetRegs()
{
var servers = new List<Server>();
SqlDataSourceEnumerator enumerador = SqlDataSourceEnumerator.Instance;
DataTable dtServers = enumerador.GetDataSources();
foreach (DataRow dr in dtServers.Rows)
{
servers.Add(new Server
{
Name = (dr["ServerName"] == DBNull.Value) ? string.Empty : (String)dr["ServerName"],
Instance = (dr["InstanceName"] == DBNull.Value) ? string.Empty : (String)dr["InstanceName"],
Version = (dr["Version"] == DBNull.Value) ? "???" : (String)dr["Version"]
});
}
return servers;
}
}
}

View File

@@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ServerExplorer.Code.DataAccess
{
class TableDA
{
}
}

View File

@@ -0,0 +1,19 @@
using System;
using System.Xml.Serialization;
namespace ServerExplorer.Code.DataTransfer
{
[Serializable]
class Column
{
[XmlAttribute]
public string Name { get; set; }
[XmlAttribute]
public string Type { get; set; }
[XmlAttribute]
public int Size { get; set; }
[XmlAttribute]
public bool PK { get; set; }
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace ServerExplorer.Code.DataTransfer
{
[Serializable]
class Database
{
[XmlAttribute]
public string Name { get; set; }
[XmlAttribute]
public DateTime CreateDate { get; set; }
private readonly List<Table> _tables = new List<Table>();
[XmlArray]
public List<Table> Tables
{
get { return _tables; }
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace ServerExplorer.Code.DataTransfer
{
[Serializable]
internal class Server
{
[XmlAttribute]
public string Name { get; set; }
[XmlAttribute]
public string Instance { get; set; }
[XmlAttribute]
public string Version { get; set; }
private readonly List<User> _users = new List<User>();
[XmlArray]
public List<User> Users
{
get { return _users; }
}
private readonly List<Database> _databases = new List<Database>();
[XmlArray]
public List<Database> Databases
{
get { return _databases; }
}
}
}

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace ServerExplorer.Code.DataTransfer
{
[Serializable]
class Table
{
[XmlAttribute]
public string Schema { get; set; }
[XmlAttribute]
public string Name { get; set; }
private readonly List<Column> _columns = new List<Column>();
[XmlArray]
public List<Column> Columns
{
get { return _columns; }
}
}
}

View File

@@ -0,0 +1,18 @@
using System;
using System.Xml.Serialization;
namespace ServerExplorer.Code.DataTransfer
{
[Serializable]
class User
{
[XmlAttribute]
public bool ImplicitUser { get; set; }
[XmlAttribute]
public string UserName { get; set; }
[XmlAttribute]
public string Password { get; set; }
}
}

View File

@@ -1,22 +1,22 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Xml.Serialization; using System.Xml.Serialization;
namespace ServerExplorer.Code namespace ServerExplorer.Code
{ {
[Serializable] [Serializable]
public class DatabaseDesc public class DatabaseDesc
{ {
private string _nombre = string.Empty; private string _nombre = string.Empty;
[XmlAttribute("Nombre")] [XmlAttribute("Nombre")]
public string Nombre public string Nombre
{ {
get { return _nombre; } get { return _nombre; }
set { _nombre = value; } set { _nombre = value; }
} }
private readonly List<TablaDesc> _tablas = new List<TablaDesc>(); private readonly List<TablaDesc> _tablas = new List<TablaDesc>();
[XmlArray("Tablas")] [XmlArray("Tablas")]
public List<TablaDesc> Tablas { get { return _tablas; } } public List<TablaDesc> Tablas { get { return _tablas; } }
} }
} }

View File

@@ -1,44 +1,44 @@
using System.IO; using System.IO;
namespace ServerExplorer.Code namespace ServerExplorer.Code
{ {
public class DocGen public class DocGen
{ {
public static void GenerarDocumentacion(DatabaseDesc database) public static void GenerarDocumentacion(DatabaseDesc database)
{ {
// Abrir el documento que contendra la documentacion // Abrir el documento que contendra la documentacion
string fixedDatabaseName = database.Nombre.Replace(' ', '_'); string fixedDatabaseName = database.Nombre.Replace(' ', '_');
var escritor = new StreamWriter(fixedDatabaseName + ".documentacion.html"); var escritor = new StreamWriter(fixedDatabaseName + ".documentacion.html");
// Poner cabecera de la documentacion // Poner cabecera de la documentacion
escritor.WriteLine("<!DOCTYPE html>"); escritor.WriteLine("<!DOCTYPE html>");
escritor.WriteLine("<html><head><title>" + database.Nombre + "</title></head>"); escritor.WriteLine("<html><head><title>" + database.Nombre + "</title></head>");
escritor.WriteLine("<body>"); escritor.WriteLine("<body>");
// Iterar cada tabla // Iterar cada tabla
foreach (TablaDesc t in database.Tablas) foreach (TablaDesc t in database.Tablas)
{ {
// Cabecera de la info de tabla // Cabecera de la info de tabla
escritor.WriteLine("<h2>" + t.Esquema + "." + t.Nombre + "</h2>"); escritor.WriteLine("<h2>" + t.Esquema + "." + t.Nombre + "</h2>");
// Iterar las columnas // Iterar las columnas
escritor.WriteLine("<table>"); escritor.WriteLine("<table>");
escritor.WriteLine("<thead><tr><th>Nombre</th><th>Tipo</th><th>Tama&ntilde;o</th><th>Primaria</th></tr></thead>"); escritor.WriteLine("<thead><tr><th>Nombre</th><th>Tipo</th><th>Tama&ntilde;o</th><th>Primaria</th></tr></thead>");
escritor.WriteLine("<tbody>"); escritor.WriteLine("<tbody>");
foreach (ColumnaDesc c in t.Columnas) foreach (ColumnaDesc c in t.Columnas)
{ {
escritor.WriteLine("<tr><td>" + escritor.WriteLine("<tr><td>" +
c.Nombre + "</td><td>" + c.Nombre + "</td><td>" +
c.Tipo + "</td><td>" + c.Tipo + "</td><td>" +
c.Tamanho + "</td><td>" + c.Tamanho + "</td><td>" +
c.Primaria + "</td></tr>"); c.Primaria + "</td></tr>");
} }
escritor.WriteLine("</tbody></table>"); escritor.WriteLine("</tbody></table>");
} }
// Poner pie y cerrar fichero // Poner pie y cerrar fichero
escritor.WriteLine("</body></html>"); escritor.WriteLine("</body></html>");
escritor.Close(); escritor.Close();
} }
} }
} }

View File

@@ -1,280 +1,280 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Data.SqlClient; using System.Data.SqlClient;
using System.Xml.Serialization; using System.Xml.Serialization;
namespace ServerExplorer.Code namespace ServerExplorer.Code
{ {
[Serializable] [Serializable]
public class TablaDesc public class TablaDesc
{ {
#region Data parameters #region Data parameters
private String _esquema = String.Empty; private String _esquema = String.Empty;
[XmlAttribute("Esquema")] [XmlAttribute("Esquema")]
public string Esquema public string Esquema
{ {
get { return _esquema; } get { return _esquema; }
set { _esquema = value; } set { _esquema = value; }
} }
private String _nombre = String.Empty; private String _nombre = String.Empty;
[XmlAttribute("Nombre")] [XmlAttribute("Nombre")]
public string Nombre public string Nombre
{ {
get { return _nombre; } get { return _nombre; }
set { _nombre = value; } set { _nombre = value; }
} }
private readonly List<ColumnaDesc> _columnas = new List<ColumnaDesc>(); private readonly List<ColumnaDesc> _columnas = new List<ColumnaDesc>();
[XmlArray("Columnas")] [XmlArray("Columnas")]
public List<ColumnaDesc> Columnas public List<ColumnaDesc> Columnas
{ {
get { return _columnas; } get { return _columnas; }
} }
#endregion #endregion
#region FillDesc #region FillDesc
// Obtener una columna existente // Obtener una columna existente
private ColumnaDesc GetCol(String nombre) private ColumnaDesc GetCol(String nombre)
{ {
foreach (ColumnaDesc col in Columnas) foreach (ColumnaDesc col in Columnas)
{ {
if (String.Compare(col.Nombre, nombre, StringComparison.Ordinal) == 0) if (String.Compare(col.Nombre, nombre, StringComparison.Ordinal) == 0)
{ {
return (col); return (col);
} }
} }
return null; return null;
} }
public void FillDesc(String esquema, String nombre, SqlConnection cnx) public void FillDesc(String esquema, String nombre, SqlConnection cnx)
{ {
// establecer esquema y nombre // establecer esquema y nombre
Esquema = esquema; Esquema = esquema;
Nombre = nombre; Nombre = nombre;
// Preparar comando y parametros // Preparar comando y parametros
var da = new SqlDataAdapter(@" var da = new SqlDataAdapter(@"
SELECT col.COLUMN_NAME AS Columna, SELECT col.COLUMN_NAME AS Columna,
col.DATA_TYPE AS Tipo, col.DATA_TYPE AS Tipo,
col.CHARACTER_MAXIMUM_LENGTH AS Tamanho, col.CHARACTER_MAXIMUM_LENGTH AS Tamanho,
c.CONSTRAINT_TYPE AS TipoClave, c.CONSTRAINT_TYPE AS TipoClave,
col.IS_NULLABLE AS Nullable col.IS_NULLABLE AS Nullable
FROM INFORMATION_SCHEMA.COLUMNS AS col FROM INFORMATION_SCHEMA.COLUMNS AS col
LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS k LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS k
ON col.COLUMN_NAME=k.COLUMN_NAME AND ON col.COLUMN_NAME=k.COLUMN_NAME AND
col.TABLE_NAME=k.TABLE_NAME AND col.TABLE_NAME=k.TABLE_NAME AND
col.TABLE_SCHEMA=k.TABLE_SCHEMA col.TABLE_SCHEMA=k.TABLE_SCHEMA
LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS c LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS c
ON k.CONSTRAINT_NAME=c.CONSTRAINT_NAME ON k.CONSTRAINT_NAME=c.CONSTRAINT_NAME
WHERE col.TABLE_NAME=@nombreTabla AND WHERE col.TABLE_NAME=@nombreTabla AND
col.TABLE_SCHEMA=@nombreEsquema col.TABLE_SCHEMA=@nombreEsquema
ORDER BY col.ORDINAL_POSITION ORDER BY col.ORDINAL_POSITION
", cnx); ", cnx);
var prm = new SqlParameter("@nombreTabla", SqlDbType.VarChar, 100) {Value = nombre}; var prm = new SqlParameter("@nombreTabla", SqlDbType.VarChar, 100) {Value = nombre};
da.SelectCommand.Parameters.Add(prm); da.SelectCommand.Parameters.Add(prm);
prm = new SqlParameter("@nombreEsquema", SqlDbType.VarChar, 100) {Value = esquema}; prm = new SqlParameter("@nombreEsquema", SqlDbType.VarChar, 100) {Value = esquema};
da.SelectCommand.Parameters.Add(prm); da.SelectCommand.Parameters.Add(prm);
// Obtener datatable con las columnas // Obtener datatable con las columnas
var dt = new DataTable(); var dt = new DataTable();
cnx.Open(); cnx.Open();
da.Fill(dt); da.Fill(dt);
cnx.Close(); cnx.Close();
// Recorrer datatable estableciendo la lista de columnas // Recorrer datatable estableciendo la lista de columnas
Columnas.Clear(); Columnas.Clear();
foreach (DataRow dr in dt.Rows) foreach (DataRow dr in dt.Rows)
{ {
// Obtener columna // Obtener columna
ColumnaDesc col = GetCol((String) dr["Columna"]); ColumnaDesc col = GetCol((String) dr["Columna"]);
if (col == null) if (col == null)
{ {
col = new ColumnaDesc(); col = new ColumnaDesc();
Columnas.Add(col); Columnas.Add(col);
} }
// Establecer datos de la columna // Establecer datos de la columna
col.Nombre = (String) dr["Columna"]; col.Nombre = (String) dr["Columna"];
col.Tipo = ((String) dr["Tipo"]).ToLower(); col.Tipo = ((String) dr["Tipo"]).ToLower();
if (dr["Tamanho"] != DBNull.Value) if (dr["Tamanho"] != DBNull.Value)
{ {
col.Tamanho = (int) dr["Tamanho"]; col.Tamanho = (int) dr["Tamanho"];
} }
if (dr["TipoClave"] != DBNull.Value) if (dr["TipoClave"] != DBNull.Value)
{ {
if (((String) dr["TipoClave"]).Contains("PRIMARY")) if (((String) dr["TipoClave"]).Contains("PRIMARY"))
{ {
col.Primaria = true; col.Primaria = true;
} }
} }
string strNullable = ((String) dr["Nullable"]).ToLower(); string strNullable = ((String) dr["Nullable"]).ToLower();
col.Nullable = (strNullable == "yes"); col.Nullable = (strNullable == "yes");
} }
} }
#endregion #endregion
} }
#region TipoCol #region TipoCol
public enum TipoCol public enum TipoCol
{ {
Unset, Unset,
Numerico, Numerico,
AproxNumerico, AproxNumerico,
Tiempo, Tiempo,
Texto, Texto,
Binario, Binario,
Booleano, Booleano,
Otro Otro
} }
#endregion #endregion
[Serializable] [Serializable]
public class ColumnaDesc public class ColumnaDesc
{ {
#region Data properties #region Data properties
private string _nombre = String.Empty; private string _nombre = String.Empty;
[XmlAttribute("Nombre")] [XmlAttribute("Nombre")]
public string Nombre public string Nombre
{ {
get { return _nombre; } get { return _nombre; }
set { _nombre = value; } set { _nombre = value; }
} }
private string _tipo = String.Empty; private string _tipo = String.Empty;
[XmlAttribute("Tipo")] [XmlAttribute("Tipo")]
public string Tipo public string Tipo
{ {
get { return _tipo; } get { return _tipo; }
set { _tipo = value; } set { _tipo = value; }
} }
private int _tamanho = -1; private int _tamanho = -1;
[XmlAttribute("Tamanho")] [XmlAttribute("Tamanho")]
public int Tamanho public int Tamanho
{ {
get { return _tamanho; } get { return _tamanho; }
set { _tamanho = value; } set { _tamanho = value; }
} }
private bool _nullable; private bool _nullable;
[XmlAttribute("Nullable")] [XmlAttribute("Nullable")]
public bool Nullable public bool Nullable
{ {
get { return _nullable; } get { return _nullable; }
set { _nullable = value; } set { _nullable = value; }
} }
private bool _primaria; private bool _primaria;
[XmlAttribute("Primaria")] [XmlAttribute("Primaria")]
public bool Primaria public bool Primaria
{ {
get { return _primaria; } get { return _primaria; }
set { _primaria = value; } set { _primaria = value; }
} }
#endregion #endregion
#region GetTipo #region GetTipo
private TipoCol _tipoCol = TipoCol.Unset; private TipoCol _tipoCol = TipoCol.Unset;
public TipoCol GetTipo() public TipoCol GetTipo()
{ {
string strTipo = Tipo.ToLower(); string strTipo = Tipo.ToLower();
if (_tipoCol != TipoCol.Unset) if (_tipoCol != TipoCol.Unset)
{ {
return _tipoCol; return _tipoCol;
} }
// Numericos // Numericos
if ( if (
strTipo == "bigint" || strTipo == "bigint" ||
strTipo == "int" || strTipo == "int" ||
strTipo == "smallint" || strTipo == "smallint" ||
strTipo == "tinyint" || strTipo == "tinyint" ||
strTipo == "bigint" strTipo == "bigint"
) )
{ {
_tipoCol = TipoCol.Numerico; _tipoCol = TipoCol.Numerico;
} }
// Aproximados numericos // Aproximados numericos
if ( if (
strTipo == "float" || strTipo == "float" ||
strTipo == "real" strTipo == "real"
) )
{ {
_tipoCol = TipoCol.AproxNumerico; _tipoCol = TipoCol.AproxNumerico;
} }
// Tiempo // Tiempo
if ( if (
strTipo == "date" || strTipo == "date" ||
strTipo == "datetimeoffset" || strTipo == "datetimeoffset" ||
strTipo == "datetime2" || strTipo == "datetime2" ||
strTipo == "smalldatetime" || strTipo == "smalldatetime" ||
strTipo == "datetime" || strTipo == "datetime" ||
strTipo == "time" strTipo == "time"
) )
{ {
_tipoCol = TipoCol.Tiempo; _tipoCol = TipoCol.Tiempo;
} }
// Texto // Texto
if ( if (
strTipo == "char" || strTipo == "char" ||
strTipo == "varchar" || strTipo == "varchar" ||
strTipo == "text" || strTipo == "text" ||
strTipo == "nchar" || strTipo == "nchar" ||
strTipo == "nvarchar" || strTipo == "nvarchar" ||
strTipo == "ntext" strTipo == "ntext"
) )
{ {
_tipoCol = TipoCol.Texto; _tipoCol = TipoCol.Texto;
} }
// Binario // Binario
if ( if (
strTipo == "binary" || strTipo == "binary" ||
strTipo == "varbinary" || strTipo == "varbinary" ||
strTipo == "image" strTipo == "image"
) )
{ {
_tipoCol = TipoCol.Binario; _tipoCol = TipoCol.Binario;
} }
// Booleano // Booleano
if ( if (
strTipo == "bit" strTipo == "bit"
) )
{ {
_tipoCol = TipoCol.Booleano; _tipoCol = TipoCol.Booleano;
} }
// Otro // Otro
_tipoCol = TipoCol.Otro; _tipoCol = TipoCol.Otro;
return _tipoCol; return _tipoCol;
} }
#endregion #endregion
} }
} }

View File

@@ -1,27 +1,27 @@
using System; using System;
using System.IO; using System.IO;
namespace ServerExplorer.Code namespace ServerExplorer.Code
{ {
public static class Utiles public static class Utiles
{ {
public static void CrearDirectorio(this String path) public static void CrearDirectorio(this String path)
{ {
DirectoryInfo info; DirectoryInfo info;
try try
{ {
info = new DirectoryInfo(path); info = new DirectoryInfo(path);
} }
catch (Exception) catch (Exception)
{ {
info = new DirectoryInfo("."); info = new DirectoryInfo(".");
} }
CrearDirectorio(info); CrearDirectorio(info);
} }
public static void CrearDirectorio(this DirectoryInfo info) public static void CrearDirectorio(this DirectoryInfo info)
{ {
if (info.Parent != null) CrearDirectorio(info.Parent); if (info.Parent != null) CrearDirectorio(info.Parent);
if (!info.Exists) info.Create(); if (!info.Exists) info.Create();
} }
} }
} }

View File

@@ -1,87 +1,87 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.ComponentModel; using System.ComponentModel;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Windows.Forms; using System.Windows.Forms;
using System.Collections; using System.Collections;
namespace ServerExplorer.Controls namespace ServerExplorer.Controls
{ {
[DefaultProperty("Items")] [DefaultProperty("Items")]
[DefaultEvent("SelectedIndexChanged")] [DefaultEvent("SelectedIndexChanged")]
[ComVisible(true)] [ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDispatch)] [ClassInterface(ClassInterfaceType.AutoDispatch)]
[Docking(DockingBehavior.Ask)] [Docking(DockingBehavior.Ask)]
public class CustomListView : ListView public class CustomListView : ListView
{ {
#region Declarations #region Declarations
ListViewItemComparer itemComparer = new ListViewItemComparer(); ListViewItemComparer itemComparer = new ListViewItemComparer();
#endregion #endregion
#region Properties #region Properties
private bool allowSorting = false; private bool allowSorting = false;
public bool AllowSorting public bool AllowSorting
{ {
get { return allowSorting; } get { return allowSorting; }
set { allowSorting = value; } set { allowSorting = value; }
} }
#endregion #endregion
#region Control life cicle #region Control life cicle
public CustomListView() public CustomListView()
{ {
ColumnClick += CustomListView_ColumnClick; ColumnClick += CustomListView_ColumnClick;
} }
#endregion #endregion
#region Events #region Events
private void CustomListView_ColumnClick(object sender, ColumnClickEventArgs e) private void CustomListView_ColumnClick(object sender, ColumnClickEventArgs e)
{ {
if (!allowSorting) { return; } if (!allowSorting) { return; }
itemComparer.SetColumn(e.Column); itemComparer.SetColumn(e.Column);
ListViewItemSorter = itemComparer; ListViewItemSorter = itemComparer;
Sort(); Sort();
} }
#endregion #endregion
} }
#region ListViewItemComparer #region ListViewItemComparer
internal class ListViewItemComparer : IComparer internal class ListViewItemComparer : IComparer
{ {
private int _col; private int _col;
private bool _ascending; private bool _ascending;
public void SetColumn(int col) public void SetColumn(int col)
{ {
_col = col; _col = col;
_ascending = _col != col || !_ascending; _ascending = _col != col || !_ascending;
} }
public int Compare(object x, object y) public int Compare(object x, object y)
{ {
var itemA = (ListViewItem) x; var itemA = (ListViewItem) x;
var itemB = (ListViewItem) y; var itemB = (ListViewItem) y;
if (itemA.SubItems.Count <= _col || itemB.SubItems.Count <= _col) if (itemA.SubItems.Count <= _col || itemB.SubItems.Count <= _col)
{ {
return -1; return -1;
} }
return _ascending return _ascending
? String.CompareOrdinal(itemA.SubItems[_col].Text, itemB.SubItems[_col].Text) ? String.CompareOrdinal(itemA.SubItems[_col].Text, itemB.SubItems[_col].Text)
: String.CompareOrdinal(itemB.SubItems[_col].Text, itemA.SubItems[_col].Text); : String.CompareOrdinal(itemB.SubItems[_col].Text, itemA.SubItems[_col].Text);
} }
} }
#endregion #endregion
} }

View File

@@ -1,39 +1,39 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace ServerExplorer.Controls namespace ServerExplorer.Controls
{ {
[ComVisible(true)] [ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDispatch)] [ClassInterface(ClassInterfaceType.AutoDispatch)]
public class CustomTextBox : TextBox public class CustomTextBox : TextBox
{ {
#region SetTabWidth #region SetTabWidth
private const int EM_SETTABSTOPS = 0x00CB; private const int EM_SETTABSTOPS = 0x00CB;
[DllImport("User32.dll", CharSet = CharSet.Auto)] [DllImport("User32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr SendMessage(IntPtr h, int msg, int wParam, int[] lParam); private static extern IntPtr SendMessage(IntPtr h, int msg, int wParam, int[] lParam);
public void SetTabWidth(int tabWidth) public void SetTabWidth(int tabWidth)
{ {
SendMessage(this.Handle, EM_SETTABSTOPS, 1, new int[] { tabWidth * 4 }); SendMessage(this.Handle, EM_SETTABSTOPS, 1, new int[] { tabWidth * 4 });
} }
#endregion #endregion
private int _tabWidth=8; private int _tabWidth=8;
public int TabWidth public int TabWidth
{ {
get { return _tabWidth; } get { return _tabWidth; }
set set
{ {
_tabWidth = value; _tabWidth = value;
SetTabWidth(value); SetTabWidth(value);
} }
} }
} }
} }

View File

@@ -1,56 +1,56 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using System.Drawing; using System.Drawing;
namespace ServerExplorer.Controls namespace ServerExplorer.Controls
{ {
public class WindowButton : Button public class WindowButton : Button
{ {
#region Properties #region Properties
private Form window = null; private Form window = null;
public Form Window public Form Window
{ {
get { return window; } get { return window; }
set { window = value; } set { window = value; }
} }
private bool active = false; private bool active = false;
public bool Active public bool Active
{ {
get { return active; } get { return active; }
set set
{ {
active = value; active = value;
//Font = active ? fntActive : fntNormal; //Font = active ? fntActive : fntNormal;
ForeColor = active ? Color.Black : Color.Gray; ForeColor = active ? Color.Black : Color.Gray;
} }
} }
#endregion #endregion
#region Creator #region Creator
public WindowButton() public WindowButton()
{ {
AutoSize = true; AutoSize = true;
AutoSizeMode = AutoSizeMode.GrowAndShrink; AutoSizeMode = AutoSizeMode.GrowAndShrink;
Click += WindowButton_Click; Click += WindowButton_Click;
} }
#endregion #endregion
#region Events #region Events
void WindowButton_Click(object sender, EventArgs e) void WindowButton_Click(object sender, EventArgs e)
{ {
if (window == null) { return; } if (window == null) { return; }
window.Activate(); window.Activate();
} }
#endregion #endregion
} }
} }

View File

@@ -1,20 +1,20 @@
using System; using System;
using System.Windows.Forms; using System.Windows.Forms;
using ServerExplorer.UI; using ServerExplorer.UI;
namespace ServerExplorer namespace ServerExplorer
{ {
static class Program static class Program
{ {
/// <summary> /// <summary>
/// The main entry point for the application. /// The main entry point for the application.
/// </summary> /// </summary>
[STAThread] [STAThread]
static void Main() static void Main()
{ {
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmPrincipal()); Application.Run(new FrmPrincipal());
} }
} }
} }

View File

@@ -1,36 +1,36 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("ServerExplorer")] [assembly: AssemblyTitle("ServerExplorer")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("VAR")] [assembly: AssemblyCompany("VAR")]
[assembly: AssemblyProduct("ServerExplorer")] [assembly: AssemblyProduct("ServerExplorer")]
[assembly: AssemblyCopyright("Copyright © VAR 2012")] [assembly: AssemblyCopyright("Copyright © VAR 2012")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible // Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from // to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type. // COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM // The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("31f76805-336c-471c-8af2-a4c1364e97b9")] [assembly: Guid("31f76805-336c-471c-8af2-a4c1364e97b9")]
// Version information for an assembly consists of the following four values: // Version information for an assembly consists of the following four values:
// //
// Major Version // Major Version
// Minor Version // Minor Version
// Build Number // Build Number
// Revision // Revision
// //
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -1,63 +1,63 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Este código fue generado por una herramienta. // Este código fue generado por una herramienta.
// Versión de runtime:4.0.30319.488 // Versión de runtime:4.0.30319.488
// //
// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
// se vuelve a generar el código. // se vuelve a generar el código.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace ServerExplorer.Properties { namespace ServerExplorer.Properties {
using System; using System;
/// <summary> /// <summary>
/// Clase de recurso con establecimiento inflexible de tipos, para buscar cadenas traducidas, etc. /// Clase de recurso con establecimiento inflexible de tipos, para buscar cadenas traducidas, etc.
/// </summary> /// </summary>
// StronglyTypedResourceBuilder generó automáticamente esta clase // StronglyTypedResourceBuilder generó automáticamente esta clase
// a través de una herramienta como ResGen o Visual Studio. // a través de una herramienta como ResGen o Visual Studio.
// Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen
// con la opción /str o vuelva a generar su proyecto de VS. // con la opción /str o vuelva a generar su proyecto de VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources { internal class Resources {
private static global::System.Resources.ResourceManager resourceMan; private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture; private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() { internal Resources() {
} }
/// <summary> /// <summary>
/// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase.
/// </summary> /// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager { internal static global::System.Resources.ResourceManager ResourceManager {
get { get {
if (object.ReferenceEquals(resourceMan, null)) { if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ServerExplorer.Properties.Resources", typeof(Resources).Assembly); global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ServerExplorer.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp; resourceMan = temp;
} }
return resourceMan; return resourceMan;
} }
} }
/// <summary> /// <summary>
/// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las
/// búsquedas de recursos mediante esta clase de recurso con establecimiento inflexible de tipos. /// búsquedas de recursos mediante esta clase de recurso con establecimiento inflexible de tipos.
/// </summary> /// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture { internal static global::System.Globalization.CultureInfo Culture {
get { get {
return resourceCulture; return resourceCulture;
} }
set { set {
resourceCulture = value; resourceCulture = value;
} }
} }
} }
} }

View File

@@ -1,117 +1,117 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter : System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
</root> </root>

View File

@@ -1,26 +1,26 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Este código fue generado por una herramienta. // Este código fue generado por una herramienta.
// Versión de runtime:4.0.30319.488 // Versión de runtime:4.0.30319.488
// //
// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
// se vuelve a generar el código. // se vuelve a generar el código.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace ServerExplorer.Properties { namespace ServerExplorer.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default { public static Settings Default {
get { get {
return defaultInstance; return defaultInstance;
} }
} }
} }
} }

View File

@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles> <Profiles>
<Profile Name="(Default)" /> <Profile Name="(Default)" />
</Profiles> </Profiles>
<Settings /> <Settings />
</SettingsFile> </SettingsFile>

View File

@@ -1,189 +1,199 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion> <ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion> <SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{79531B74-3062-4A71-9953-5702BEBDEC0E}</ProjectGuid> <ProjectGuid>{79531B74-3062-4A71-9953-5702BEBDEC0E}</ProjectGuid>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ServerExplorer</RootNamespace> <RootNamespace>ServerExplorer</RootNamespace>
<AssemblyName>ServerExplorer</AssemblyName> <AssemblyName>ServerExplorer</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<FileUpgradeFlags> <FileUpgradeFlags>
</FileUpgradeFlags> </FileUpgradeFlags>
<UpgradeBackupLocation> <UpgradeBackupLocation>
</UpgradeBackupLocation> </UpgradeBackupLocation>
<OldToolsVersion>3.5</OldToolsVersion> <OldToolsVersion>3.5</OldToolsVersion>
<PublishUrl>publish\</PublishUrl> <PublishUrl>publish\</PublishUrl>
<Install>true</Install> <Install>true</Install>
<InstallFrom>Disk</InstallFrom> <InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled> <UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode> <UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval> <UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits> <UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically> <UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired> <UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions> <MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision> <ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion> <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper> <IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust> <UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled> <BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath> <OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath> <OutputPath>bin\Release\</OutputPath>
<DefineConstants> <DefineConstants>
</DefineConstants> </DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Microsoft.VisualBasic" /> <Reference Include="Microsoft.VisualBasic" />
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core"> <Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework> <RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference> </Reference>
<Reference Include="System.Xml.Linq"> <Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework> <RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference> </Reference>
<Reference Include="System.Data.DataSetExtensions"> <Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework> <RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference> </Reference>
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Deployment" /> <Reference Include="System.Deployment" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Code\Config.cs" /> <Compile Include="Code\Config.cs" />
<Compile Include="Controls\CustomListView.cs"> <Compile Include="Code\DataAccess\DatabaseDA.cs" />
<SubType>Component</SubType> <Compile Include="Code\DataAccess\ServerDA.cs" />
</Compile> <Compile Include="Code\DataAccess\TableDA.cs" />
<Compile Include="Code\DatabaseDesc.cs" /> <Compile Include="Code\DataTransfer\Column.cs" />
<Compile Include="Code\DocGen.cs" /> <Compile Include="Code\DataTransfer\Database.cs" />
<Compile Include="Controls\CustomTextBox.cs"> <Compile Include="Code\DataTransfer\Server.cs" />
<SubType>Component</SubType> <Compile Include="Code\DataTransfer\Table.cs" />
</Compile> <Compile Include="Code\DataTransfer\User.cs" />
<Compile Include="Controls\WindowButton.cs"> <Compile Include="Controls\CustomListView.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="UI\FrmBaseDatos.cs"> <Compile Include="Code\DatabaseDesc.cs" />
<SubType>Form</SubType> <Compile Include="Code\DocGen.cs" />
</Compile> <Compile Include="Controls\CustomTextBox.cs">
<Compile Include="UI\FrmBaseDatos.Designer.cs"> <SubType>Component</SubType>
<DependentUpon>FrmBaseDatos.cs</DependentUpon> </Compile>
</Compile> <Compile Include="Controls\WindowButton.cs">
<Compile Include="UI\FrmDatos.cs"> <SubType>Component</SubType>
<SubType>Form</SubType> </Compile>
</Compile> <Compile Include="UI\FrmBaseDatos.cs">
<Compile Include="UI\FrmDatos.Designer.cs"> <SubType>Form</SubType>
<DependentUpon>FrmDatos.cs</DependentUpon> </Compile>
</Compile> <Compile Include="UI\FrmBaseDatos.Designer.cs">
<Compile Include="UI\FrmExec.cs"> <DependentUpon>FrmBaseDatos.cs</DependentUpon>
<SubType>Form</SubType> </Compile>
</Compile> <Compile Include="UI\FrmDatos.cs">
<Compile Include="UI\FrmExec.Designer.cs"> <SubType>Form</SubType>
<DependentUpon>FrmExec.cs</DependentUpon> </Compile>
</Compile> <Compile Include="UI\FrmDatos.Designer.cs">
<Compile Include="UI\FrmPrincipal.cs"> <DependentUpon>FrmDatos.cs</DependentUpon>
<SubType>Form</SubType> </Compile>
</Compile> <Compile Include="UI\FrmExec.cs">
<Compile Include="UI\FrmPrincipal.Designer.cs"> <SubType>Form</SubType>
<DependentUpon>FrmPrincipal.cs</DependentUpon> </Compile>
</Compile> <Compile Include="UI\FrmExec.Designer.cs">
<Compile Include="UI\FrmProcedimientos.cs"> <DependentUpon>FrmExec.cs</DependentUpon>
<SubType>Form</SubType> </Compile>
</Compile> <Compile Include="UI\FrmPrincipal.cs">
<Compile Include="UI\FrmProcedimientos.Designer.cs"> <SubType>Form</SubType>
<DependentUpon>FrmProcedimientos.cs</DependentUpon> </Compile>
</Compile> <Compile Include="UI\FrmPrincipal.Designer.cs">
<Compile Include="UI\FrmServidores.cs"> <DependentUpon>FrmPrincipal.cs</DependentUpon>
<SubType>Form</SubType> </Compile>
</Compile> <Compile Include="UI\FrmProcedimientos.cs">
<Compile Include="UI\FrmServidores.Designer.cs"> <SubType>Form</SubType>
<DependentUpon>FrmServidores.cs</DependentUpon> </Compile>
</Compile> <Compile Include="UI\FrmProcedimientos.Designer.cs">
<Compile Include="Program.cs" /> <DependentUpon>FrmProcedimientos.cs</DependentUpon>
<Compile Include="Properties\AssemblyInfo.cs" /> </Compile>
<Compile Include="Code\TablaDesc.cs" /> <Compile Include="UI\FrmServidores.cs">
<Compile Include="Code\Utiles.cs" /> <SubType>Form</SubType>
<EmbeddedResource Include="UI\FrmBaseDatos.resx"> </Compile>
<DependentUpon>FrmBaseDatos.cs</DependentUpon> <Compile Include="UI\FrmServidores.Designer.cs">
</EmbeddedResource> <DependentUpon>FrmServidores.cs</DependentUpon>
<EmbeddedResource Include="UI\FrmDatos.resx"> </Compile>
<DependentUpon>FrmDatos.cs</DependentUpon> <Compile Include="Program.cs" />
</EmbeddedResource> <Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="UI\FrmExec.resx"> <Compile Include="Code\TablaDesc.cs" />
<DependentUpon>FrmExec.cs</DependentUpon> <Compile Include="Code\Utiles.cs" />
</EmbeddedResource> <EmbeddedResource Include="UI\FrmBaseDatos.resx">
<EmbeddedResource Include="UI\FrmPrincipal.resx"> <DependentUpon>FrmBaseDatos.cs</DependentUpon>
<DependentUpon>FrmPrincipal.cs</DependentUpon> </EmbeddedResource>
</EmbeddedResource> <EmbeddedResource Include="UI\FrmDatos.resx">
<EmbeddedResource Include="UI\FrmProcedimientos.resx"> <DependentUpon>FrmDatos.cs</DependentUpon>
<DependentUpon>FrmProcedimientos.cs</DependentUpon> </EmbeddedResource>
</EmbeddedResource> <EmbeddedResource Include="UI\FrmExec.resx">
<EmbeddedResource Include="UI\FrmServidores.resx"> <DependentUpon>FrmExec.cs</DependentUpon>
<DependentUpon>FrmServidores.cs</DependentUpon> </EmbeddedResource>
</EmbeddedResource> <EmbeddedResource Include="UI\FrmPrincipal.resx">
<EmbeddedResource Include="Properties\Resources.resx"> <DependentUpon>FrmPrincipal.cs</DependentUpon>
<Generator>ResXFileCodeGenerator</Generator> </EmbeddedResource>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <EmbeddedResource Include="UI\FrmProcedimientos.resx">
<SubType>Designer</SubType> <DependentUpon>FrmProcedimientos.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs"> <EmbeddedResource Include="UI\FrmServidores.resx">
<AutoGen>True</AutoGen> <DependentUpon>FrmServidores.cs</DependentUpon>
<DependentUpon>Resources.resx</DependentUpon> </EmbeddedResource>
<DesignTime>True</DesignTime> <EmbeddedResource Include="Properties\Resources.resx">
</Compile> <Generator>ResXFileCodeGenerator</Generator>
<None Include="Properties\Settings.settings"> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
<Generator>SettingsSingleFileGenerator</Generator> <SubType>Designer</SubType>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> </EmbeddedResource>
</None> <Compile Include="Properties\Resources.Designer.cs">
<Compile Include="Properties\Settings.Designer.cs"> <AutoGen>True</AutoGen>
<AutoGen>True</AutoGen> <DependentUpon>Resources.resx</DependentUpon>
<DependentUpon>Settings.settings</DependentUpon> <DesignTime>True</DesignTime>
<DesignTimeSharedInput>True</DesignTimeSharedInput> </Compile>
</Compile> <None Include="Properties\Settings.settings">
</ItemGroup> <Generator>SettingsSingleFileGenerator</Generator>
<ItemGroup> <LastGenOutput>Settings.Designer.cs</LastGenOutput>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5"> </None>
<Visible>False</Visible> <Compile Include="Properties\Settings.Designer.cs">
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> <AutoGen>True</AutoGen>
<Install>false</Install> <DependentUpon>Settings.settings</DependentUpon>
</BootstrapperPackage> <DesignTimeSharedInput>True</DesignTimeSharedInput>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> </Compile>
<Visible>False</Visible> </ItemGroup>
<ProductName>.NET Framework 3.5 SP1</ProductName> <ItemGroup>
<Install>true</Install> <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
</BootstrapperPackage> <Visible>False</Visible>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Visible>False</Visible> <Install>false</Install>
<ProductName>Windows Installer 3.1</ProductName> </BootstrapperPackage>
<Install>true</Install> <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
</BootstrapperPackage> <Visible>False</Visible>
</ItemGroup> <ProductName>.NET Framework 3.5 SP1</ProductName>
<ItemGroup /> <Install>true</Install>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </BootstrapperPackage>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
Other similar extension points exist, see Microsoft.Common.targets. <Visible>False</Visible>
<Target Name="BeforeBuild"> <ProductName>Windows Installer 3.1</ProductName>
</Target> <Install>true</Install>
<Target Name="AfterBuild"> </BootstrapperPackage>
</Target> </ItemGroup>
--> <ItemGroup>
<Folder Include="Code\BussinesLogic\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project> </Project>

View File

@@ -1,395 +1,395 @@
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
partial class FrmBaseDatos partial class FrmBaseDatos
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.lblConString = new System.Windows.Forms.Label(); this.lblConString = new System.Windows.Forms.Label();
this.btnCopiarConString = new System.Windows.Forms.Button(); this.btnCopiarConString = new System.Windows.Forms.Button();
this.menuBaseDatos = new System.Windows.Forms.MenuStrip(); this.menuBaseDatos = new System.Windows.Forms.MenuStrip();
this.archivoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.archivoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuCargar = new System.Windows.Forms.ToolStripMenuItem(); this.menuCargar = new System.Windows.Forms.ToolStripMenuItem();
this.menuGuardar = new System.Windows.Forms.ToolStripMenuItem(); this.menuGuardar = new System.Windows.Forms.ToolStripMenuItem();
this.menuConfiguracion = new System.Windows.Forms.ToolStripMenuItem(); this.menuConfiguracion = new System.Windows.Forms.ToolStripMenuItem();
this.btnGenerar = new System.Windows.Forms.Button(); this.btnGenerar = new System.Windows.Forms.Button();
this.btnVerDatos = new System.Windows.Forms.Button(); this.btnVerDatos = new System.Windows.Forms.Button();
this.lblTituloTabla = new System.Windows.Forms.Label(); this.lblTituloTabla = new System.Windows.Forms.Label();
this.lblTituloDB = new System.Windows.Forms.Label(); this.lblTituloDB = new System.Windows.Forms.Label();
this.btnDocGen = new System.Windows.Forms.Button(); this.btnDocGen = new System.Windows.Forms.Button();
this.btnProcs = new System.Windows.Forms.Button(); this.btnProcs = new System.Windows.Forms.Button();
this.btnExec = new System.Windows.Forms.Button(); this.btnExec = new System.Windows.Forms.Button();
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.btnRefresh = new System.Windows.Forms.Button(); this.btnRefresh = new System.Windows.Forms.Button();
this.lsvTablas = new ServerExplorer.Controls.CustomListView(); this.lsvTablas = new ServerExplorer.Controls.CustomListView();
this.colNombreTabla = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colNombreTabla = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colEsquema = ((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.colTipo = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.lsvColumnas = new ServerExplorer.Controls.CustomListView(); this.lsvColumnas = new ServerExplorer.Controls.CustomListView();
this.colNombreColumna = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colNombreColumna = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colTipoDatos = ((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.colTamanho = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colClave = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colClave = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colNullable = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colNullable = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.txtConString = new ServerExplorer.Controls.CustomTextBox(); this.txtConString = new ServerExplorer.Controls.CustomTextBox();
this.menuBaseDatos.SuspendLayout(); this.menuBaseDatos.SuspendLayout();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout(); this.splitContainer1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// lblConString // lblConString
// //
this.lblConString.AutoSize = true; this.lblConString.AutoSize = true;
this.lblConString.Location = new System.Drawing.Point(9, 9); this.lblConString.Location = new System.Drawing.Point(9, 9);
this.lblConString.Name = "lblConString"; this.lblConString.Name = "lblConString";
this.lblConString.Size = new System.Drawing.Size(105, 13); this.lblConString.Size = new System.Drawing.Size(105, 13);
this.lblConString.TabIndex = 1; this.lblConString.TabIndex = 1;
this.lblConString.Text = "Cadena de conexion"; this.lblConString.Text = "Cadena de conexion";
// //
// btnCopiarConString // btnCopiarConString
// //
this.btnCopiarConString.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); 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.Location = new System.Drawing.Point(742, 4);
this.btnCopiarConString.Name = "btnCopiarConString"; this.btnCopiarConString.Name = "btnCopiarConString";
this.btnCopiarConString.Size = new System.Drawing.Size(52, 23); this.btnCopiarConString.Size = new System.Drawing.Size(52, 23);
this.btnCopiarConString.TabIndex = 3; this.btnCopiarConString.TabIndex = 3;
this.btnCopiarConString.Text = "Copiar"; this.btnCopiarConString.Text = "Copiar";
this.btnCopiarConString.UseVisualStyleBackColor = true; this.btnCopiarConString.UseVisualStyleBackColor = true;
this.btnCopiarConString.Click += new System.EventHandler(this.btnCopiarConString_Click); this.btnCopiarConString.Click += new System.EventHandler(this.btnCopiarConString_Click);
// //
// menuBaseDatos // menuBaseDatos
// //
this.menuBaseDatos.Dock = System.Windows.Forms.DockStyle.None; this.menuBaseDatos.Dock = System.Windows.Forms.DockStyle.None;
this.menuBaseDatos.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuBaseDatos.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.archivoToolStripMenuItem, this.archivoToolStripMenuItem,
this.menuConfiguracion}); this.menuConfiguracion});
this.menuBaseDatos.Location = new System.Drawing.Point(7, 195); this.menuBaseDatos.Location = new System.Drawing.Point(7, 195);
this.menuBaseDatos.Name = "menuBaseDatos"; this.menuBaseDatos.Name = "menuBaseDatos";
this.menuBaseDatos.Size = new System.Drawing.Size(195, 24); this.menuBaseDatos.Size = new System.Drawing.Size(195, 24);
this.menuBaseDatos.TabIndex = 9; this.menuBaseDatos.TabIndex = 9;
this.menuBaseDatos.Text = "menuBaseDatos"; this.menuBaseDatos.Text = "menuBaseDatos";
this.menuBaseDatos.Visible = false; this.menuBaseDatos.Visible = false;
this.menuBaseDatos.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.menuBaseDatos_ItemClicked); this.menuBaseDatos.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.menuBaseDatos_ItemClicked);
// //
// archivoToolStripMenuItem // archivoToolStripMenuItem
// //
this.archivoToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.archivoToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuCargar, this.menuCargar,
this.menuGuardar}); this.menuGuardar});
this.archivoToolStripMenuItem.Name = "archivoToolStripMenuItem"; this.archivoToolStripMenuItem.Name = "archivoToolStripMenuItem";
this.archivoToolStripMenuItem.Size = new System.Drawing.Size(92, 20); this.archivoToolStripMenuItem.Size = new System.Drawing.Size(92, 20);
this.archivoToolStripMenuItem.Text = "Base de Datos"; this.archivoToolStripMenuItem.Text = "Base de Datos";
// //
// menuCargar // menuCargar
// //
this.menuCargar.Name = "menuCargar"; this.menuCargar.Name = "menuCargar";
this.menuCargar.Size = new System.Drawing.Size(116, 22); this.menuCargar.Size = new System.Drawing.Size(116, 22);
this.menuCargar.Text = "Cargar"; this.menuCargar.Text = "Cargar";
this.menuCargar.Click += new System.EventHandler(this.menuCargar_Click); this.menuCargar.Click += new System.EventHandler(this.menuCargar_Click);
// //
// menuGuardar // menuGuardar
// //
this.menuGuardar.Name = "menuGuardar"; this.menuGuardar.Name = "menuGuardar";
this.menuGuardar.Size = new System.Drawing.Size(116, 22); this.menuGuardar.Size = new System.Drawing.Size(116, 22);
this.menuGuardar.Text = "Guardar"; this.menuGuardar.Text = "Guardar";
this.menuGuardar.Click += new System.EventHandler(this.menuGuardar_Click); this.menuGuardar.Click += new System.EventHandler(this.menuGuardar_Click);
// //
// menuConfiguracion // menuConfiguracion
// //
this.menuConfiguracion.Name = "menuConfiguracion"; this.menuConfiguracion.Name = "menuConfiguracion";
this.menuConfiguracion.Size = new System.Drawing.Size(95, 20); this.menuConfiguracion.Size = new System.Drawing.Size(95, 20);
this.menuConfiguracion.Text = "Configuracion"; this.menuConfiguracion.Text = "Configuracion";
this.menuConfiguracion.Click += new System.EventHandler(this.menuConfiguracion_Click); this.menuConfiguracion.Click += new System.EventHandler(this.menuConfiguracion_Click);
// //
// btnGenerar // btnGenerar
// //
this.btnGenerar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnGenerar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnGenerar.Location = new System.Drawing.Point(392, 485); this.btnGenerar.Location = new System.Drawing.Point(392, 485);
this.btnGenerar.Name = "btnGenerar"; this.btnGenerar.Name = "btnGenerar";
this.btnGenerar.Size = new System.Drawing.Size(75, 23); this.btnGenerar.Size = new System.Drawing.Size(75, 23);
this.btnGenerar.TabIndex = 10; this.btnGenerar.TabIndex = 10;
this.btnGenerar.Text = "Generar"; this.btnGenerar.Text = "Generar";
this.btnGenerar.UseVisualStyleBackColor = true; this.btnGenerar.UseVisualStyleBackColor = true;
this.btnGenerar.Click += new System.EventHandler(this.btnGenerar_Click); this.btnGenerar.Click += new System.EventHandler(this.btnGenerar_Click);
// //
// btnVerDatos // btnVerDatos
// //
this.btnVerDatos.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 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.Location = new System.Drawing.Point(3, 485);
this.btnVerDatos.Name = "btnVerDatos"; this.btnVerDatos.Name = "btnVerDatos";
this.btnVerDatos.Size = new System.Drawing.Size(75, 23); this.btnVerDatos.Size = new System.Drawing.Size(75, 23);
this.btnVerDatos.TabIndex = 11; this.btnVerDatos.TabIndex = 11;
this.btnVerDatos.Text = "Ver Datos"; this.btnVerDatos.Text = "Ver Datos";
this.btnVerDatos.UseVisualStyleBackColor = true; this.btnVerDatos.UseVisualStyleBackColor = true;
this.btnVerDatos.Click += new System.EventHandler(this.btnVerDatos_Click); this.btnVerDatos.Click += new System.EventHandler(this.btnVerDatos_Click);
// //
// lblTituloTabla // lblTituloTabla
// //
this.lblTituloTabla.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.lblTituloTabla.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.lblTituloTabla.BackColor = System.Drawing.SystemColors.ControlDarkDark; 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.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.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.lblTituloTabla.Location = new System.Drawing.Point(3, 0); this.lblTituloTabla.Location = new System.Drawing.Point(3, 0);
this.lblTituloTabla.Name = "lblTituloTabla"; this.lblTituloTabla.Name = "lblTituloTabla";
this.lblTituloTabla.Size = new System.Drawing.Size(464, 37); this.lblTituloTabla.Size = new System.Drawing.Size(464, 37);
this.lblTituloTabla.TabIndex = 12; this.lblTituloTabla.TabIndex = 12;
this.lblTituloTabla.Text = "lblTituloTabla"; this.lblTituloTabla.Text = "lblTituloTabla";
this.lblTituloTabla.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblTituloTabla.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// lblTituloDB // lblTituloDB
// //
this.lblTituloDB.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.lblTituloDB.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.lblTituloDB.BackColor = System.Drawing.SystemColors.ControlDarkDark; 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.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.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.lblTituloDB.Location = new System.Drawing.Point(3, 0); this.lblTituloDB.Location = new System.Drawing.Point(3, 0);
this.lblTituloDB.Name = "lblTituloDB"; this.lblTituloDB.Name = "lblTituloDB";
this.lblTituloDB.Size = new System.Drawing.Size(326, 37); this.lblTituloDB.Size = new System.Drawing.Size(326, 37);
this.lblTituloDB.TabIndex = 13; this.lblTituloDB.TabIndex = 13;
this.lblTituloDB.Text = "lblTituloDB"; this.lblTituloDB.Text = "lblTituloDB";
this.lblTituloDB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblTituloDB.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// btnDocGen // btnDocGen
// //
this.btnDocGen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnDocGen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnDocGen.Location = new System.Drawing.Point(311, 485); this.btnDocGen.Location = new System.Drawing.Point(311, 485);
this.btnDocGen.Name = "btnDocGen"; this.btnDocGen.Name = "btnDocGen";
this.btnDocGen.Size = new System.Drawing.Size(75, 23); this.btnDocGen.Size = new System.Drawing.Size(75, 23);
this.btnDocGen.TabIndex = 14; this.btnDocGen.TabIndex = 14;
this.btnDocGen.Text = "Doc"; this.btnDocGen.Text = "Doc";
this.btnDocGen.UseVisualStyleBackColor = true; this.btnDocGen.UseVisualStyleBackColor = true;
this.btnDocGen.Click += new System.EventHandler(this.btnDocGen_Click); this.btnDocGen.Click += new System.EventHandler(this.btnDocGen_Click);
// //
// btnProcs // btnProcs
// //
this.btnProcs.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 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.Location = new System.Drawing.Point(84, 485);
this.btnProcs.Name = "btnProcs"; this.btnProcs.Name = "btnProcs";
this.btnProcs.Size = new System.Drawing.Size(87, 23); this.btnProcs.Size = new System.Drawing.Size(87, 23);
this.btnProcs.TabIndex = 15; this.btnProcs.TabIndex = 15;
this.btnProcs.Text = "Procedimientos"; this.btnProcs.Text = "Procedimientos";
this.btnProcs.UseVisualStyleBackColor = true; this.btnProcs.UseVisualStyleBackColor = true;
this.btnProcs.Click += new System.EventHandler(this.btnProcs_Click); this.btnProcs.Click += new System.EventHandler(this.btnProcs_Click);
// //
// btnExec // btnExec
// //
this.btnExec.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 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.Location = new System.Drawing.Point(177, 485);
this.btnExec.Name = "btnExec"; this.btnExec.Name = "btnExec";
this.btnExec.Size = new System.Drawing.Size(45, 23); this.btnExec.Size = new System.Drawing.Size(45, 23);
this.btnExec.TabIndex = 16; this.btnExec.TabIndex = 16;
this.btnExec.Text = "Exec"; this.btnExec.Text = "Exec";
this.btnExec.UseVisualStyleBackColor = true; this.btnExec.UseVisualStyleBackColor = true;
this.btnExec.Click += new System.EventHandler(this.btnExec_Click); this.btnExec.Click += new System.EventHandler(this.btnExec_Click);
// //
// splitContainer1 // splitContainer1
// //
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(1, 32); this.splitContainer1.Location = new System.Drawing.Point(1, 32);
this.splitContainer1.Name = "splitContainer1"; this.splitContainer1.Name = "splitContainer1";
// //
// splitContainer1.Panel1 // splitContainer1.Panel1
// //
this.splitContainer1.Panel1.Controls.Add(this.btnRefresh); this.splitContainer1.Panel1.Controls.Add(this.btnRefresh);
this.splitContainer1.Panel1.Controls.Add(this.lblTituloDB); this.splitContainer1.Panel1.Controls.Add(this.lblTituloDB);
this.splitContainer1.Panel1.Controls.Add(this.btnExec); this.splitContainer1.Panel1.Controls.Add(this.btnExec);
this.splitContainer1.Panel1.Controls.Add(this.lsvTablas); this.splitContainer1.Panel1.Controls.Add(this.lsvTablas);
this.splitContainer1.Panel1.Controls.Add(this.btnProcs); this.splitContainer1.Panel1.Controls.Add(this.btnProcs);
this.splitContainer1.Panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.splitContainer1_Panel1_Paint); this.splitContainer1.Panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.splitContainer1_Panel1_Paint);
// //
// splitContainer1.Panel2 // splitContainer1.Panel2
// //
this.splitContainer1.Panel2.Controls.Add(this.lblTituloTabla); this.splitContainer1.Panel2.Controls.Add(this.lblTituloTabla);
this.splitContainer1.Panel2.Controls.Add(this.btnDocGen); this.splitContainer1.Panel2.Controls.Add(this.btnDocGen);
this.splitContainer1.Panel2.Controls.Add(this.lsvColumnas); this.splitContainer1.Panel2.Controls.Add(this.lsvColumnas);
this.splitContainer1.Panel2.Controls.Add(this.menuBaseDatos); this.splitContainer1.Panel2.Controls.Add(this.menuBaseDatos);
this.splitContainer1.Panel2.Controls.Add(this.btnGenerar); this.splitContainer1.Panel2.Controls.Add(this.btnGenerar);
this.splitContainer1.Panel2.Controls.Add(this.btnVerDatos); this.splitContainer1.Panel2.Controls.Add(this.btnVerDatos);
this.splitContainer1.Size = new System.Drawing.Size(806, 511); this.splitContainer1.Size = new System.Drawing.Size(806, 511);
this.splitContainer1.SplitterDistance = 332; this.splitContainer1.SplitterDistance = 332;
this.splitContainer1.TabIndex = 17; this.splitContainer1.TabIndex = 17;
// //
// btnRefresh // btnRefresh
// //
this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnRefresh.Location = new System.Drawing.Point(3, 485); this.btnRefresh.Location = new System.Drawing.Point(3, 485);
this.btnRefresh.Name = "btnRefresh"; this.btnRefresh.Name = "btnRefresh";
this.btnRefresh.Size = new System.Drawing.Size(75, 23); this.btnRefresh.Size = new System.Drawing.Size(75, 23);
this.btnRefresh.TabIndex = 14; this.btnRefresh.TabIndex = 14;
this.btnRefresh.Text = "Refresh"; this.btnRefresh.Text = "Refresh";
this.btnRefresh.UseVisualStyleBackColor = true; this.btnRefresh.UseVisualStyleBackColor = true;
this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click); this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
// //
// lsvTablas // lsvTablas
// //
this.lsvTablas.AllowSorting = true; this.lsvTablas.AllowSorting = true;
this.lsvTablas.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.lsvTablas.CheckBoxes = true; this.lsvTablas.CheckBoxes = true;
this.lsvTablas.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.lsvTablas.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colNombreTabla, this.colNombreTabla,
this.colEsquema, this.colEsquema,
this.colTipo}); this.colTipo});
this.lsvTablas.FullRowSelect = true; this.lsvTablas.FullRowSelect = true;
this.lsvTablas.Location = new System.Drawing.Point(3, 40); this.lsvTablas.Location = new System.Drawing.Point(3, 40);
this.lsvTablas.Name = "lsvTablas"; this.lsvTablas.Name = "lsvTablas";
this.lsvTablas.Size = new System.Drawing.Size(326, 439); this.lsvTablas.Size = new System.Drawing.Size(326, 439);
this.lsvTablas.Sorting = System.Windows.Forms.SortOrder.Ascending; this.lsvTablas.Sorting = System.Windows.Forms.SortOrder.Ascending;
this.lsvTablas.TabIndex = 4; this.lsvTablas.TabIndex = 4;
this.lsvTablas.UseCompatibleStateImageBehavior = false; this.lsvTablas.UseCompatibleStateImageBehavior = false;
this.lsvTablas.View = System.Windows.Forms.View.Details; this.lsvTablas.View = System.Windows.Forms.View.Details;
this.lsvTablas.SelectedIndexChanged += new System.EventHandler(this.lsvTablas_SelectedIndexChanged); this.lsvTablas.SelectedIndexChanged += new System.EventHandler(this.lsvTablas_SelectedIndexChanged);
// //
// colNombreTabla // colNombreTabla
// //
this.colNombreTabla.Text = "Tabla"; this.colNombreTabla.Text = "Tabla";
this.colNombreTabla.Width = 169; this.colNombreTabla.Width = 169;
// //
// colEsquema // colEsquema
// //
this.colEsquema.Text = "Esquema"; this.colEsquema.Text = "Esquema";
// //
// colTipo // colTipo
// //
this.colTipo.Text = "Tipo"; this.colTipo.Text = "Tipo";
this.colTipo.Width = 71; this.colTipo.Width = 71;
// //
// lsvColumnas // lsvColumnas
// //
this.lsvColumnas.AllowSorting = false; this.lsvColumnas.AllowSorting = false;
this.lsvColumnas.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.lsvColumnas.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.lsvColumnas.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colNombreColumna, this.colNombreColumna,
this.colTipoDatos, this.colTipoDatos,
this.colTamanho, this.colTamanho,
this.colClave, this.colClave,
this.colNullable}); this.colNullable});
this.lsvColumnas.FullRowSelect = true; this.lsvColumnas.FullRowSelect = true;
this.lsvColumnas.Location = new System.Drawing.Point(3, 40); this.lsvColumnas.Location = new System.Drawing.Point(3, 40);
this.lsvColumnas.Name = "lsvColumnas"; this.lsvColumnas.Name = "lsvColumnas";
this.lsvColumnas.Size = new System.Drawing.Size(464, 439); this.lsvColumnas.Size = new System.Drawing.Size(464, 439);
this.lsvColumnas.TabIndex = 6; this.lsvColumnas.TabIndex = 6;
this.lsvColumnas.UseCompatibleStateImageBehavior = false; this.lsvColumnas.UseCompatibleStateImageBehavior = false;
this.lsvColumnas.View = System.Windows.Forms.View.Details; this.lsvColumnas.View = System.Windows.Forms.View.Details;
// //
// colNombreColumna // colNombreColumna
// //
this.colNombreColumna.Text = "Columna"; this.colNombreColumna.Text = "Columna";
this.colNombreColumna.Width = 122; this.colNombreColumna.Width = 122;
// //
// colTipoDatos // colTipoDatos
// //
this.colTipoDatos.Text = "Tipo de Datos"; this.colTipoDatos.Text = "Tipo de Datos";
this.colTipoDatos.Width = 81; this.colTipoDatos.Width = 81;
// //
// colTamanho // colTamanho
// //
this.colTamanho.Text = "Tamaño"; this.colTamanho.Text = "Tamaño";
// //
// colClave // colClave
// //
this.colClave.Text = "Clave"; this.colClave.Text = "Clave";
this.colClave.Width = 71; this.colClave.Width = 71;
// //
// colNullable // colNullable
// //
this.colNullable.Text = "Nullable"; this.colNullable.Text = "Nullable";
// //
// txtConString // txtConString
// //
this.txtConString.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.txtConString.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.txtConString.Location = new System.Drawing.Point(120, 6); this.txtConString.Location = new System.Drawing.Point(120, 6);
this.txtConString.Name = "txtConString"; this.txtConString.Name = "txtConString";
this.txtConString.ReadOnly = true; this.txtConString.ReadOnly = true;
this.txtConString.Size = new System.Drawing.Size(616, 20); this.txtConString.Size = new System.Drawing.Size(616, 20);
this.txtConString.TabIndex = 0; this.txtConString.TabIndex = 0;
this.txtConString.TabWidth = 8; this.txtConString.TabWidth = 8;
// //
// FrmBaseDatos // FrmBaseDatos
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(806, 543); this.ClientSize = new System.Drawing.Size(806, 543);
this.Controls.Add(this.splitContainer1); this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.btnCopiarConString); this.Controls.Add(this.btnCopiarConString);
this.Controls.Add(this.lblConString); this.Controls.Add(this.lblConString);
this.Controls.Add(this.txtConString); this.Controls.Add(this.txtConString);
this.MainMenuStrip = this.menuBaseDatos; this.MainMenuStrip = this.menuBaseDatos;
this.Name = "FrmBaseDatos"; this.Name = "FrmBaseDatos";
this.Text = "Base de Datos"; this.Text = "Base de Datos";
this.Load += new System.EventHandler(this.frmBaseDatos_Load); this.Load += new System.EventHandler(this.frmBaseDatos_Load);
this.menuBaseDatos.ResumeLayout(false); this.menuBaseDatos.ResumeLayout(false);
this.menuBaseDatos.PerformLayout(); this.menuBaseDatos.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout(); this.splitContainer1.Panel2.PerformLayout();
this.splitContainer1.ResumeLayout(false); this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
} }
#endregion #endregion
private ServerExplorer.Controls.CustomTextBox txtConString; private ServerExplorer.Controls.CustomTextBox txtConString;
private System.Windows.Forms.Label lblConString; private System.Windows.Forms.Label lblConString;
private System.Windows.Forms.Button btnCopiarConString; private System.Windows.Forms.Button btnCopiarConString;
private ServerExplorer.Controls.CustomListView lsvTablas; private ServerExplorer.Controls.CustomListView lsvTablas;
private System.Windows.Forms.ColumnHeader colNombreTabla; private System.Windows.Forms.ColumnHeader colNombreTabla;
private System.Windows.Forms.ColumnHeader colEsquema; private System.Windows.Forms.ColumnHeader colEsquema;
private System.Windows.Forms.ColumnHeader colTipo; private System.Windows.Forms.ColumnHeader colTipo;
private ServerExplorer.Controls.CustomListView lsvColumnas; private ServerExplorer.Controls.CustomListView lsvColumnas;
private System.Windows.Forms.ColumnHeader colNombreColumna; private System.Windows.Forms.ColumnHeader colNombreColumna;
private System.Windows.Forms.ColumnHeader colTipoDatos; private System.Windows.Forms.ColumnHeader colTipoDatos;
private System.Windows.Forms.ColumnHeader colTamanho; private System.Windows.Forms.ColumnHeader colTamanho;
private System.Windows.Forms.MenuStrip menuBaseDatos; private System.Windows.Forms.MenuStrip menuBaseDatos;
private System.Windows.Forms.ToolStripMenuItem archivoToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem archivoToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem menuCargar; private System.Windows.Forms.ToolStripMenuItem menuCargar;
private System.Windows.Forms.ToolStripMenuItem menuGuardar; private System.Windows.Forms.ToolStripMenuItem menuGuardar;
private System.Windows.Forms.ToolStripMenuItem menuConfiguracion; private System.Windows.Forms.ToolStripMenuItem menuConfiguracion;
private System.Windows.Forms.ColumnHeader colClave; private System.Windows.Forms.ColumnHeader colClave;
private System.Windows.Forms.Button btnGenerar; private System.Windows.Forms.Button btnGenerar;
private System.Windows.Forms.Button btnVerDatos; private System.Windows.Forms.Button btnVerDatos;
private System.Windows.Forms.Label lblTituloTabla; private System.Windows.Forms.Label lblTituloTabla;
private System.Windows.Forms.Label lblTituloDB; private System.Windows.Forms.Label lblTituloDB;
private System.Windows.Forms.Button btnDocGen; private System.Windows.Forms.Button btnDocGen;
private System.Windows.Forms.Button btnProcs; private System.Windows.Forms.Button btnProcs;
private System.Windows.Forms.Button btnExec; private System.Windows.Forms.Button btnExec;
private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.ColumnHeader colNullable; private System.Windows.Forms.ColumnHeader colNullable;
private System.Windows.Forms.Button btnRefresh; private System.Windows.Forms.Button btnRefresh;
} }
} }

View File

@@ -1,289 +1,289 @@
using System; using System;
using System.Data; using System.Data;
using System.Windows.Forms; using System.Windows.Forms;
using System.Data.SqlClient; using System.Data.SqlClient;
using System.Xml.Serialization; using System.Xml.Serialization;
using ServerExplorer.Code; using ServerExplorer.Code;
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
public partial class FrmBaseDatos : Form public partial class FrmBaseDatos : Form
{ {
private SqlConnection _cnx; private SqlConnection _cnx;
private Config _config; private Config _config;
private String _tableSchema; private String _tableSchema;
private String _tableName; private String _tableName;
private void Initialize() private void Initialize()
{ {
// Establecer conexion // Establecer conexion
txtConString.Text = _config.ConnectionString; txtConString.Text = _config.ConnectionString;
_cnx = new SqlConnection(_config.ConnectionString); _cnx = new SqlConnection(_config.ConnectionString);
// Obtener lista de tablas // Obtener lista de tablas
_cnx.Open(); _cnx.Open();
DataTable dt = _cnx.GetSchema("Tables"); DataTable dt = _cnx.GetSchema("Tables");
_cnx.Close(); _cnx.Close();
// Mostrar todas las tablas // Mostrar todas las tablas
lsvTablas.Items.Clear(); lsvTablas.Items.Clear();
foreach (DataRow dr in dt.Rows) foreach (DataRow dr in dt.Rows)
{ {
ListViewItem item = lsvTablas.Items.Add((String)dr["TABLE_NAME"]); ListViewItem item = lsvTablas.Items.Add((String)dr["TABLE_NAME"]);
item.SubItems.Add((String)dr["TABLE_SCHEMA"]); item.SubItems.Add((String)dr["TABLE_SCHEMA"]);
item.SubItems.Add((String)dr["TABLE_TYPE"]); item.SubItems.Add((String)dr["TABLE_TYPE"]);
} }
TablesToListView(); TablesToListView();
// Limpiar Columnas // Limpiar Columnas
lsvColumnas.Items.Clear(); lsvColumnas.Items.Clear();
} }
/// <summary> /// <summary>
/// Metodo para copiar las tablas seleccionadas en el listview a la configuracion /// Metodo para copiar las tablas seleccionadas en el listview a la configuracion
/// </summary> /// </summary>
private void TablesFromListView() private void TablesFromListView()
{ {
_config.Tablas.Clear(); _config.Tablas.Clear();
foreach (ListViewItem item in lsvTablas.Items) foreach (ListViewItem item in lsvTablas.Items)
{ {
if (item.Checked) if (item.Checked)
{ {
_config.Tablas.Add(new TablaInfo _config.Tablas.Add(new TablaInfo
{ {
Esquema = item.SubItems[1].Text, Esquema = item.SubItems[1].Text,
Nombre = item.SubItems[0].Text Nombre = item.SubItems[0].Text
}); });
} }
} }
} }
/// <summary> /// <summary>
/// Metodo para seleccionar las tablas en le listview desde la configuracion /// Metodo para seleccionar las tablas en le listview desde la configuracion
/// </summary> /// </summary>
private void TablesToListView() private void TablesToListView()
{ {
int j; int j;
// Desmarcar todos en caso de no haber ninguna tabla // Desmarcar todos en caso de no haber ninguna tabla
if (_config.Tablas.Count == 0) if (_config.Tablas.Count == 0)
{ {
foreach (ListViewItem item in lsvTablas.Items) foreach (ListViewItem item in lsvTablas.Items)
item.Checked = false; item.Checked = false;
return; return;
} }
// Recorrer items marcando los que estan en la configuracion // Recorrer items marcando los que estan en la configuracion
int n = _config.Tablas.Count; int n = _config.Tablas.Count;
int i = j = 0; int i = j = 0;
foreach (ListViewItem item in lsvTablas.Items) foreach (ListViewItem item in lsvTablas.Items)
{ {
item.Checked = false; item.Checked = false;
do do
{ {
if (String.Compare(_config.Tablas[i].Esquema, item.SubItems[1].Text, StringComparison.Ordinal) == 0 && if (String.Compare(_config.Tablas[i].Esquema, item.SubItems[1].Text, StringComparison.Ordinal) == 0 &&
String.Compare(_config.Tablas[i].Nombre, item.SubItems[0].Text, StringComparison.Ordinal) == 0) String.Compare(_config.Tablas[i].Nombre, item.SubItems[0].Text, StringComparison.Ordinal) == 0)
{ {
item.Checked = true; item.Checked = true;
break; break;
} }
i = (i + 1) % n; i = (i + 1) % n;
} while (i != j); } while (i != j);
j = i; j = i;
} }
} }
public DatabaseDesc CrearDatabaseDesc() public DatabaseDesc CrearDatabaseDesc()
{ {
var db = new DatabaseDesc { Nombre = _cnx.Database }; var db = new DatabaseDesc { Nombre = _cnx.Database };
foreach (TablaInfo t in _config.Tablas) foreach (TablaInfo t in _config.Tablas)
{ {
var td = new TablaDesc(); var td = new TablaDesc();
td.FillDesc(t.Esquema, t.Nombre, _cnx); td.FillDesc(t.Esquema, t.Nombre, _cnx);
db.Tablas.Add(td); db.Tablas.Add(td);
} }
return (db); return (db);
} }
public FrmBaseDatos(String connectionString) public FrmBaseDatos(String connectionString)
{ {
InitializeComponent(); InitializeComponent();
_config = new Config {ConnectionString = connectionString}; _config = new Config {ConnectionString = connectionString};
} }
public FrmBaseDatos(Config config) public FrmBaseDatos(Config config)
{ {
InitializeComponent(); InitializeComponent();
_config = config; _config = config;
} }
private void frmBaseDatos_Load(object sender, EventArgs e) private void frmBaseDatos_Load(object sender, EventArgs e)
{ {
Initialize(); Initialize();
// Establecer titulos // Establecer titulos
lblTituloDB.Text = _cnx.Database; lblTituloDB.Text = _cnx.Database;
lblTituloTabla.Text = ""; lblTituloTabla.Text = "";
} }
private void btnCopiarConString_Click(object sender, EventArgs e) private void btnCopiarConString_Click(object sender, EventArgs e)
{ {
// Copiar la cadena de conexion al portapapeles // Copiar la cadena de conexion al portapapeles
Clipboard.SetText(txtConString.Text); Clipboard.SetText(txtConString.Text);
} }
private void lsvTablas_SelectedIndexChanged(object sender, EventArgs e) private void lsvTablas_SelectedIndexChanged(object sender, EventArgs e)
{ {
if (lsvTablas.SelectedItems.Count != 1) { return; } if (lsvTablas.SelectedItems.Count != 1) { return; }
// Determinar tabla seleccionada // Determinar tabla seleccionada
ListViewItem item = lsvTablas.SelectedItems[0]; ListViewItem item = lsvTablas.SelectedItems[0];
// Recordar tabla seleccionada // Recordar tabla seleccionada
_tableSchema = item.SubItems[1].Text; _tableSchema = item.SubItems[1].Text;
_tableName = item.SubItems[0].Text; _tableName = item.SubItems[0].Text;
// Establecer titulo de la lista de columnas // Establecer titulo de la lista de columnas
lblTituloTabla.Text = _tableSchema + @"." + _tableName; lblTituloTabla.Text = _tableSchema + @"." + _tableName;
// Obtener descripcion de tabla // Obtener descripcion de tabla
var td = new TablaDesc(); var td = new TablaDesc();
td.FillDesc(_tableSchema, _tableName, _cnx); td.FillDesc(_tableSchema, _tableName, _cnx);
// Mostrar "columnas" de las tablas // Mostrar "columnas" de las tablas
lsvColumnas.Items.Clear(); lsvColumnas.Items.Clear();
foreach (ColumnaDesc col in td.Columnas) foreach (ColumnaDesc col in td.Columnas)
{ {
ListViewItem subitem = lsvColumnas.Items.Add(col.Nombre); ListViewItem subitem = lsvColumnas.Items.Add(col.Nombre);
subitem.SubItems.Add(col.Tipo); subitem.SubItems.Add(col.Tipo);
subitem.SubItems.Add((col.Tamanho >= 0) ? String.Format("{0}", col.Tamanho) : string.Empty); subitem.SubItems.Add((col.Tamanho >= 0) ? String.Format("{0}", col.Tamanho) : string.Empty);
subitem.SubItems.Add(col.Primaria ? "PK" : string.Empty); subitem.SubItems.Add(col.Primaria ? "PK" : string.Empty);
subitem.SubItems.Add(col.Nullable ? "Null" : "NotNull"); subitem.SubItems.Add(col.Nullable ? "Null" : "NotNull");
} }
} }
private void menuCargar_Click(object sender, EventArgs e) private void menuCargar_Click(object sender, EventArgs e)
{ {
var dialogo = new OpenFileDialog(); var dialogo = new OpenFileDialog();
if (dialogo.ShowDialog() == DialogResult.OK) if (dialogo.ShowDialog() == DialogResult.OK)
{ {
_config = Config.Cargar(dialogo.FileName); _config = Config.Cargar(dialogo.FileName);
Initialize(); Initialize();
} }
} }
private void menuGuardar_Click(object sender, EventArgs e) private void menuGuardar_Click(object sender, EventArgs e)
{ {
var dialogo = new SaveFileDialog(); var dialogo = new SaveFileDialog();
if (dialogo.ShowDialog() == DialogResult.OK) if (dialogo.ShowDialog() == DialogResult.OK)
{ {
TablesFromListView(); TablesFromListView();
_config.Guardar(dialogo.FileName); _config.Guardar(dialogo.FileName);
} }
} }
private void menuConfiguracion_Click(object sender, EventArgs e) private void menuConfiguracion_Click(object sender, EventArgs e)
{ {
//// Llamar a la ventana de configuracion //// Llamar a la ventana de configuracion
//FrmCodeGenConfig frm = new FrmCodeGenConfig(config); //FrmCodeGenConfig frm = new FrmCodeGenConfig(config);
//frm.ShowDialog(); //frm.ShowDialog();
} }
private void btnVerDatos_Click(object sender, EventArgs e) private void btnVerDatos_Click(object sender, EventArgs e)
{ {
if (string.IsNullOrEmpty(_tableSchema) || string.IsNullOrEmpty(_tableName)) { return; } if (string.IsNullOrEmpty(_tableSchema) || string.IsNullOrEmpty(_tableName)) { return; }
// Obtener descripcion de tabla // Obtener descripcion de tabla
var td = new TablaDesc(); var td = new TablaDesc();
td.FillDesc(_tableSchema, _tableName, _cnx); td.FillDesc(_tableSchema, _tableName, _cnx);
// Crear y mostrar el formulario de los datos. // Crear y mostrar el formulario de los datos.
var form = new FrmDatos(td, _config.ConnectionString); var form = new FrmDatos(td, _config.ConnectionString);
FrmPrincipal.AddForm(form); FrmPrincipal.AddForm(form);
} }
private void btnProcs_Click(object sender, EventArgs e) private void btnProcs_Click(object sender, EventArgs e)
{ {
// Crear y mostrar el formulario de los procedimientos. // Crear y mostrar el formulario de los procedimientos.
var form = new FrmProcedimientos(_config.ConnectionString); var form = new FrmProcedimientos(_config.ConnectionString);
FrmPrincipal.AddForm(form); FrmPrincipal.AddForm(form);
} }
private void btnExec_Click(object sender, EventArgs e) private void btnExec_Click(object sender, EventArgs e)
{ {
// Crear y mostrar el formulario de exec. // Crear y mostrar el formulario de exec.
var form = new FrmExec(_config.ConnectionString); var form = new FrmExec(_config.ConnectionString);
FrmPrincipal.AddForm(form); FrmPrincipal.AddForm(form);
} }
private void menuBaseDatos_ItemClicked(object sender, ToolStripItemClickedEventArgs e) private void menuBaseDatos_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{ {
} }
private void btnGenerar_Click(object sender, EventArgs e) private void btnGenerar_Click(object sender, EventArgs e)
{ {
TablesFromListView(); TablesFromListView();
DatabaseDesc db = CrearDatabaseDesc(); DatabaseDesc db = CrearDatabaseDesc();
var seriador = new XmlSerializer(typeof(DatabaseDesc)); var seriador = new XmlSerializer(typeof(DatabaseDesc));
seriador.Serialize(Console.Out, db); seriador.Serialize(Console.Out, db);
//CodeGen.GenerarCodigo(config, db); //CodeGen.GenerarCodigo(config, db);
} }
private void btnDocGen_Click(object sender, EventArgs e) private void btnDocGen_Click(object sender, EventArgs e)
{ {
// Hacer insensible la ventana // Hacer insensible la ventana
Parent.Enabled = false; Parent.Enabled = false;
// Obtener informacion. // Obtener informacion.
TablesFromListView(); TablesFromListView();
DatabaseDesc db = CrearDatabaseDesc(); DatabaseDesc db = CrearDatabaseDesc();
// Escribir documentacion // Escribir documentacion
DocGen.GenerarDocumentacion(db); DocGen.GenerarDocumentacion(db);
// Hace sensible la ventana // Hace sensible la ventana
Parent.Enabled = true; Parent.Enabled = true;
/* /*
tablas_delistview(); tablas_delistview();
Thread hilo=new Thread(new ThreadStart(instancia.GenerarDoc)); Thread hilo=new Thread(new ThreadStart(instancia.GenerarDoc));
hilo.Start(); hilo.Start();
*/ */
} }
public void GenerarDoc() public void GenerarDoc()
{ {
// Hacer insensible la ventana // Hacer insensible la ventana
Enabled = false; Enabled = false;
// Obtener informacion. // Obtener informacion.
DatabaseDesc db = CrearDatabaseDesc(); DatabaseDesc db = CrearDatabaseDesc();
// Escribir documentacion // Escribir documentacion
DocGen.GenerarDocumentacion(db); DocGen.GenerarDocumentacion(db);
// Hace sensible la ventana // Hace sensible la ventana
Enabled = true; Enabled = true;
} }
private void splitContainer1_Panel1_Paint(object sender, PaintEventArgs e) private void splitContainer1_Panel1_Paint(object sender, PaintEventArgs e)
{ {
} }
private void btnRefresh_Click(object sender, EventArgs e) private void btnRefresh_Click(object sender, EventArgs e)
{ {
Initialize(); Initialize();
} }
} }
} }

View File

@@ -1,126 +1,126 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <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="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="menuBaseDatos.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="menuBaseDatos.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>41</value> <value>41</value>
</metadata> </metadata>
</root> </root>

View File

@@ -1,84 +1,84 @@
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
partial class FrmDatos partial class FrmDatos
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.dgvDatos = new System.Windows.Forms.DataGridView(); this.dgvDatos = new System.Windows.Forms.DataGridView();
this.btnRefresh = new System.Windows.Forms.Button(); this.btnRefresh = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).BeginInit();
this.SuspendLayout(); this.SuspendLayout();
// //
// dgvDatos // dgvDatos
// //
this.dgvDatos.AllowUserToAddRows = false; this.dgvDatos.AllowUserToAddRows = false;
this.dgvDatos.AllowUserToDeleteRows = false; this.dgvDatos.AllowUserToDeleteRows = false;
this.dgvDatos.AllowUserToOrderColumns = true; this.dgvDatos.AllowUserToOrderColumns = true;
this.dgvDatos.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.dgvDatos.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvDatos.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvDatos.Location = new System.Drawing.Point(12, 18); this.dgvDatos.Location = new System.Drawing.Point(12, 18);
this.dgvDatos.Name = "dgvDatos"; this.dgvDatos.Name = "dgvDatos";
this.dgvDatos.ReadOnly = true; this.dgvDatos.ReadOnly = true;
this.dgvDatos.Size = new System.Drawing.Size(347, 273); this.dgvDatos.Size = new System.Drawing.Size(347, 273);
this.dgvDatos.TabIndex = 0; this.dgvDatos.TabIndex = 0;
this.dgvDatos.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDatos_CellDoubleClick); this.dgvDatos.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDatos_CellDoubleClick);
this.dgvDatos.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.dgvDatos_CellFormatting); this.dgvDatos.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.dgvDatos_CellFormatting);
// //
// btnRefresh // btnRefresh
// //
this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnRefresh.Location = new System.Drawing.Point(12, 297); this.btnRefresh.Location = new System.Drawing.Point(12, 297);
this.btnRefresh.Name = "btnRefresh"; this.btnRefresh.Name = "btnRefresh";
this.btnRefresh.Size = new System.Drawing.Size(75, 23); this.btnRefresh.Size = new System.Drawing.Size(75, 23);
this.btnRefresh.TabIndex = 1; this.btnRefresh.TabIndex = 1;
this.btnRefresh.Text = "Refresh"; this.btnRefresh.Text = "Refresh";
this.btnRefresh.UseVisualStyleBackColor = true; this.btnRefresh.UseVisualStyleBackColor = true;
this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click); this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
// //
// FrmDatos // FrmDatos
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(371, 332); this.ClientSize = new System.Drawing.Size(371, 332);
this.Controls.Add(this.btnRefresh); this.Controls.Add(this.btnRefresh);
this.Controls.Add(this.dgvDatos); this.Controls.Add(this.dgvDatos);
this.Name = "FrmDatos"; this.Name = "FrmDatos";
this.Text = "frmDatos"; this.Text = "frmDatos";
this.Load += new System.EventHandler(this.frmDatos_Load); this.Load += new System.EventHandler(this.frmDatos_Load);
((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
#endregion #endregion
private System.Windows.Forms.DataGridView dgvDatos; private System.Windows.Forms.DataGridView dgvDatos;
private System.Windows.Forms.Button btnRefresh; private System.Windows.Forms.Button btnRefresh;
} }
} }

View File

@@ -1,72 +1,72 @@
using System; using System;
using System.Data; using System.Data;
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using ServerExplorer.Code; using ServerExplorer.Code;
using System.Data.SqlClient; using System.Data.SqlClient;
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
public partial class FrmDatos : Form public partial class FrmDatos : Form
{ {
#region Declarations #region Declarations
private readonly TablaDesc _tablaDesc; private readonly TablaDesc _tablaDesc;
private readonly string _conexionString = string.Empty; private readonly string _conexionString = string.Empty;
#endregion #endregion
#region Form life cycle #region Form life cycle
public FrmDatos(TablaDesc tablaDesc, string conexionString) public FrmDatos(TablaDesc tablaDesc, string conexionString)
{ {
InitializeComponent(); InitializeComponent();
_tablaDesc = tablaDesc; _tablaDesc = tablaDesc;
_conexionString = conexionString; _conexionString = conexionString;
LoadDataFromTable(); LoadDataFromTable();
} }
private void frmDatos_Load(object sender, EventArgs e) { } private void frmDatos_Load(object sender, EventArgs e) { }
#endregion #endregion
#region Events #region Events
private void dgvDatos_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { } private void dgvDatos_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { }
private void dgvDatos_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) private void dgvDatos_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{ {
if (e.DesiredType == typeof(Image)) if (e.DesiredType == typeof(Image))
{ {
if (e.Value is DBNull || (e.Value is byte[] && ((byte[])e.Value).Length <= 0)) if (e.Value is DBNull || (e.Value is byte[] && ((byte[])e.Value).Length <= 0))
{ {
e.Value = new Bitmap(1, 1); e.Value = new Bitmap(1, 1);
} }
} }
} }
private void btnRefresh_Click(object sender, EventArgs e) private void btnRefresh_Click(object sender, EventArgs e)
{ {
LoadDataFromTable(); LoadDataFromTable();
} }
#endregion #endregion
#region Private methods #region Private methods
private void LoadDataFromTable() private void LoadDataFromTable()
{ {
Text = _tablaDesc.Esquema + @"." + _tablaDesc.Nombre; Text = _tablaDesc.Esquema + @"." + _tablaDesc.Nombre;
string tableFullName = "[" + _tablaDesc.Esquema + "].[" + _tablaDesc.Nombre + "]"; string tableFullName = "[" + _tablaDesc.Esquema + "].[" + _tablaDesc.Nombre + "]";
var dt= new DataTable(); var dt= new DataTable();
var cnx = new SqlConnection(_conexionString); var cnx = new SqlConnection(_conexionString);
var da = new SqlDataAdapter( "select * from " + tableFullName, cnx); var da = new SqlDataAdapter( "select * from " + tableFullName, cnx);
cnx.Open(); cnx.Open();
da.Fill(dt); da.Fill(dt);
cnx.Close(); cnx.Close();
dgvDatos.DataSource = dt; dgvDatos.DataSource = dt;
} }
#endregion #endregion
} }
} }

View File

@@ -1,120 +1,120 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <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="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
</root> </root>

View File

@@ -1,142 +1,142 @@
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
partial class FrmExec partial class FrmExec
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.btnExec = new System.Windows.Forms.Button(); this.btnExec = new System.Windows.Forms.Button();
this.txtCommand = new ServerExplorer.Controls.CustomTextBox(); this.txtCommand = new ServerExplorer.Controls.CustomTextBox();
this.dgvDatos = new System.Windows.Forms.DataGridView(); this.dgvDatos = new System.Windows.Forms.DataGridView();
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.btnGenInserts = new System.Windows.Forms.Button(); this.btnGenInserts = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout(); this.splitContainer1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// btnExec // btnExec
// //
this.btnExec.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 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.Location = new System.Drawing.Point(532, 66);
this.btnExec.Name = "btnExec"; this.btnExec.Name = "btnExec";
this.btnExec.Size = new System.Drawing.Size(75, 23); this.btnExec.Size = new System.Drawing.Size(75, 23);
this.btnExec.TabIndex = 0; this.btnExec.TabIndex = 0;
this.btnExec.Text = "Exec"; this.btnExec.Text = "Exec";
this.btnExec.UseVisualStyleBackColor = true; this.btnExec.UseVisualStyleBackColor = true;
this.btnExec.Click += new System.EventHandler(this.btnExec_Click); this.btnExec.Click += new System.EventHandler(this.btnExec_Click);
// //
// txtCommand // txtCommand
// //
this.txtCommand.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.txtCommand.Font = new System.Drawing.Font("Lucida Console", 8.25F); this.txtCommand.Font = new System.Drawing.Font("Lucida Console", 8.25F);
this.txtCommand.Location = new System.Drawing.Point(3, 3); this.txtCommand.Location = new System.Drawing.Point(3, 3);
this.txtCommand.Multiline = true; this.txtCommand.Multiline = true;
this.txtCommand.Name = "txtCommand"; this.txtCommand.Name = "txtCommand";
this.txtCommand.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.txtCommand.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.txtCommand.Size = new System.Drawing.Size(604, 57); this.txtCommand.Size = new System.Drawing.Size(604, 57);
this.txtCommand.TabIndex = 1; this.txtCommand.TabIndex = 1;
this.txtCommand.TabWidth = 8; this.txtCommand.TabWidth = 8;
// //
// dgvDatos // dgvDatos
// //
this.dgvDatos.AllowUserToAddRows = false; this.dgvDatos.AllowUserToAddRows = false;
this.dgvDatos.AllowUserToDeleteRows = false; this.dgvDatos.AllowUserToDeleteRows = false;
this.dgvDatos.AllowUserToOrderColumns = true; this.dgvDatos.AllowUserToOrderColumns = true;
this.dgvDatos.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.dgvDatos.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvDatos.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvDatos.Location = new System.Drawing.Point(3, 3); this.dgvDatos.Location = new System.Drawing.Point(3, 3);
this.dgvDatos.Name = "dgvDatos"; this.dgvDatos.Name = "dgvDatos";
this.dgvDatos.ReadOnly = true; this.dgvDatos.ReadOnly = true;
this.dgvDatos.Size = new System.Drawing.Size(604, 338); this.dgvDatos.Size = new System.Drawing.Size(604, 338);
this.dgvDatos.TabIndex = 2; this.dgvDatos.TabIndex = 2;
this.dgvDatos.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.dgvDatos_CellFormatting); this.dgvDatos.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.dgvDatos_CellFormatting);
// //
// splitContainer1 // splitContainer1
// //
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(12, 12); this.splitContainer1.Location = new System.Drawing.Point(12, 12);
this.splitContainer1.Name = "splitContainer1"; this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
// //
// splitContainer1.Panel1 // splitContainer1.Panel1
// //
this.splitContainer1.Panel1.Controls.Add(this.btnGenInserts); this.splitContainer1.Panel1.Controls.Add(this.btnGenInserts);
this.splitContainer1.Panel1.Controls.Add(this.txtCommand); this.splitContainer1.Panel1.Controls.Add(this.txtCommand);
this.splitContainer1.Panel1.Controls.Add(this.btnExec); this.splitContainer1.Panel1.Controls.Add(this.btnExec);
// //
// splitContainer1.Panel2 // splitContainer1.Panel2
// //
this.splitContainer1.Panel2.Controls.Add(this.dgvDatos); this.splitContainer1.Panel2.Controls.Add(this.dgvDatos);
this.splitContainer1.Size = new System.Drawing.Size(610, 440); this.splitContainer1.Size = new System.Drawing.Size(610, 440);
this.splitContainer1.SplitterDistance = 92; this.splitContainer1.SplitterDistance = 92;
this.splitContainer1.TabIndex = 3; this.splitContainer1.TabIndex = 3;
// //
// btnGenInserts // btnGenInserts
// //
this.btnGenInserts.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 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.Location = new System.Drawing.Point(424, 66);
this.btnGenInserts.Name = "btnGenInserts"; this.btnGenInserts.Name = "btnGenInserts";
this.btnGenInserts.Size = new System.Drawing.Size(102, 23); this.btnGenInserts.Size = new System.Drawing.Size(102, 23);
this.btnGenInserts.TabIndex = 2; this.btnGenInserts.TabIndex = 2;
this.btnGenInserts.Text = "Genera INSERTs"; this.btnGenInserts.Text = "Genera INSERTs";
this.btnGenInserts.UseVisualStyleBackColor = true; this.btnGenInserts.UseVisualStyleBackColor = true;
this.btnGenInserts.Click += new System.EventHandler(this.btnGenInserts_Click); this.btnGenInserts.Click += new System.EventHandler(this.btnGenInserts_Click);
// //
// FrmExec // FrmExec
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(634, 464); this.ClientSize = new System.Drawing.Size(634, 464);
this.Controls.Add(this.splitContainer1); this.Controls.Add(this.splitContainer1);
this.Name = "FrmExec"; this.Name = "FrmExec";
this.Text = "frmExec"; this.Text = "frmExec";
((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvDatos)).EndInit();
this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout(); this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false); this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
} }
#endregion #endregion
private System.Windows.Forms.Button btnExec; private System.Windows.Forms.Button btnExec;
private ServerExplorer.Controls.CustomTextBox txtCommand; private ServerExplorer.Controls.CustomTextBox txtCommand;
private System.Windows.Forms.DataGridView dgvDatos; private System.Windows.Forms.DataGridView dgvDatos;
private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.Button btnGenInserts; private System.Windows.Forms.Button btnGenInserts;
} }
} }

View File

@@ -1,168 +1,168 @@
using System; using System;
using System.Data; using System.Data;
using System.Data.SqlClient; using System.Data.SqlClient;
using System.Drawing; using System.Drawing;
using System.Globalization; using System.Globalization;
using System.Windows.Forms; using System.Windows.Forms;
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
public partial class FrmExec : Form public partial class FrmExec : Form
{ {
#region Declarations #region Declarations
private readonly string _cnxString; private readonly string _cnxString;
#endregion #endregion
#region Form life cycle #region Form life cycle
public FrmExec(string cnxString) public FrmExec(string cnxString)
{ {
InitializeComponent(); InitializeComponent();
_cnxString = cnxString; _cnxString = cnxString;
} }
#endregion #endregion
#region Events #region Events
private void btnExec_Click(object sender, EventArgs e) private void btnExec_Click(object sender, EventArgs e)
{ {
try try
{ {
DataTable dt = Exec(); DataTable dt = Exec();
dgvDatos.DataSource = dt; dgvDatos.DataSource = dt;
} }
catch (Exception ex) catch (Exception ex)
{ {
MessageBox.Show(ex.Message); MessageBox.Show(ex.Message);
} }
} }
private void btnGenInserts_Click(object sender, EventArgs e) private void btnGenInserts_Click(object sender, EventArgs e)
{ {
try try
{ {
// Obtener el nombre de la tabla destino // Obtener el nombre de la tabla destino
string destTable = Microsoft.VisualBasic.Interaction.InputBox("Nombre de la tabla destino", "tabla destino", String.Empty, string destTable = Microsoft.VisualBasic.Interaction.InputBox("Nombre de la tabla destino", "tabla destino", String.Empty,
Top + (Height / 2), Left + (Width / 2)); Top + (Height / 2), Left + (Width / 2));
DataTable dt = GenerarInserts(destTable); DataTable dt = GenerarInserts(destTable);
dgvDatos.DataSource = dt; dgvDatos.DataSource = dt;
} }
catch (Exception ex) catch (Exception ex)
{ {
MessageBox.Show(ex.Message); MessageBox.Show(ex.Message);
} }
} }
private void dgvDatos_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) private void dgvDatos_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{ {
if (e.DesiredType == typeof(Image)) if (e.DesiredType == typeof(Image))
{ {
if (e.Value is DBNull || (e.Value is byte[] && ((byte[])e.Value).Length <= 0)) if (e.Value is DBNull || (e.Value is byte[] && ((byte[])e.Value).Length <= 0))
{ {
e.Value = new Bitmap(1, 1); e.Value = new Bitmap(1, 1);
} }
} }
} }
#endregion #endregion
#region Private methods #region Private methods
private DataTable Exec() private DataTable Exec()
{ {
// Establecer conexion // Establecer conexion
var cnx = new SqlConnection(_cnxString); var cnx = new SqlConnection(_cnxString);
// Obtener resultado en un datatable. // Obtener resultado en un datatable.
var da = new SqlDataAdapter(txtCommand.Text, cnx); var da = new SqlDataAdapter(txtCommand.Text, cnx);
var dt = new DataTable(); var dt = new DataTable();
cnx.Open(); cnx.Open();
da.Fill(dt); da.Fill(dt);
cnx.Close(); cnx.Close();
return dt; return dt;
} }
private DataTable GenerarInserts(string destTable) private DataTable GenerarInserts(string destTable)
{ {
var nfi = new NumberFormatInfo { NumberDecimalSeparator = "." }; var nfi = new NumberFormatInfo { NumberDecimalSeparator = "." };
DataTable dataTable = Exec(); DataTable dataTable = Exec();
// Preparar la datatable destino // Preparar la datatable destino
var destDataTable = new DataTable(); var destDataTable = new DataTable();
destDataTable.Columns.Add("Comando", typeof(String)); destDataTable.Columns.Add("Comando", typeof(String));
// Recorrer la tabla de datos // Recorrer la tabla de datos
foreach (DataRow dr in dataTable.Rows) foreach (DataRow dr in dataTable.Rows)
{ {
string strColumns = String.Empty; string strColumns = String.Empty;
string strValues = String.Empty; string strValues = String.Empty;
foreach (DataColumn dc in dataTable.Columns) foreach (DataColumn dc in dataTable.Columns)
{ {
// El nombre de la columna // El nombre de la columna
if (strColumns != String.Empty) if (strColumns != String.Empty)
strColumns += ", "; strColumns += ", ";
strColumns += "[" + dc.ColumnName + "]"; strColumns += "[" + dc.ColumnName + "]";
// El valor de la columna // El valor de la columna
if (strValues != String.Empty) if (strValues != String.Empty)
strValues += ", "; strValues += ", ";
object valor = dr[dc]; object valor = dr[dc];
if (valor == DBNull.Value || valor == null) if (valor == DBNull.Value || valor == null)
{ {
// NULOS // NULOS
strValues += "NULL"; strValues += "NULL";
} }
else else
{ {
string type = dc.DataType.Name.ToLower(); string type = dc.DataType.Name.ToLower();
if (type == "string") if (type == "string")
{ {
// Cadenas // Cadenas
strValues += "'" + ((string)valor).Replace("'", "''") + "'"; strValues += "'" + ((string)valor).Replace("'", "''") + "'";
} }
else if (type == "decimal") else if (type == "decimal")
{ {
// Decimales // Decimales
strValues += ((decimal)valor).ToString(nfi); strValues += ((decimal)valor).ToString(nfi);
} }
else if (type == "bit" || type == "bool" || type == "boolean") else if (type == "bit" || type == "bool" || type == "boolean")
{ {
// Booleanos // Booleanos
strValues += ((bool)valor) ? "1" : "0"; strValues += ((bool)valor) ? "1" : "0";
} }
else if (type == "byte[]" ) else if (type == "byte[]" )
{ {
// Arrays de bytes (imagenes, archivos etc) // Arrays de bytes (imagenes, archivos etc)
strValues += "0x" + BitConverter.ToString(((byte[])valor)).Replace("-", ""); strValues += "0x" + BitConverter.ToString(((byte[])valor)).Replace("-", "");
} }
else else
{ {
// Otros // Otros
strValues += valor.ToString(); strValues += valor.ToString();
} }
} }
} }
// Insertar fila a la datatable destino // Insertar fila a la datatable destino
destDataTable.Rows.Add( destDataTable.Rows.Add(
new object[] { new object[] {
String.Format("INSERT INTO {0} ({1}) VALUES ({2})", String.Format("INSERT INTO {0} ({1}) VALUES ({2})",
destTable, strColumns, strValues) destTable, strColumns, strValues)
}); });
} }
return destDataTable; return destDataTable;
} }
#endregion #endregion
} }
} }

View File

@@ -1,120 +1,120 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <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="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
</root> </root>

View File

@@ -1,130 +1,130 @@
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
partial class FrmPrincipal partial class FrmPrincipal
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.menuPrincipal = new System.Windows.Forms.MenuStrip(); this.menuPrincipal = new System.Windows.Forms.MenuStrip();
this.menuServidor = new System.Windows.Forms.ToolStripMenuItem(); this.menuServidor = new System.Windows.Forms.ToolStripMenuItem();
this.menuBuscarServidor = new System.Windows.Forms.ToolStripMenuItem(); this.menuBuscarServidor = new System.Windows.Forms.ToolStripMenuItem();
this.menuBaseDatos = new System.Windows.Forms.ToolStripMenuItem(); this.menuBaseDatos = new System.Windows.Forms.ToolStripMenuItem();
this.menuConectarA = new System.Windows.Forms.ToolStripMenuItem(); this.menuConectarA = new System.Windows.Forms.ToolStripMenuItem();
this.menuConectarPRUEBAS = new System.Windows.Forms.ToolStripMenuItem(); this.menuConectarPRUEBAS = new System.Windows.Forms.ToolStripMenuItem();
this.flowpnlWindows = new System.Windows.Forms.FlowLayoutPanel(); this.flowpnlWindows = new System.Windows.Forms.FlowLayoutPanel();
this.menuPrincipal.SuspendLayout(); this.menuPrincipal.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// menuPrincipal // menuPrincipal
// //
this.menuPrincipal.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuPrincipal.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuServidor, this.menuServidor,
this.menuBaseDatos}); this.menuBaseDatos});
this.menuPrincipal.Location = new System.Drawing.Point(0, 0); this.menuPrincipal.Location = new System.Drawing.Point(0, 0);
this.menuPrincipal.Name = "menuPrincipal"; this.menuPrincipal.Name = "menuPrincipal";
this.menuPrincipal.Size = new System.Drawing.Size(800, 24); this.menuPrincipal.Size = new System.Drawing.Size(800, 24);
this.menuPrincipal.TabIndex = 4; this.menuPrincipal.TabIndex = 4;
this.menuPrincipal.Text = "menuPrincipal"; this.menuPrincipal.Text = "menuPrincipal";
// //
// menuServidor // menuServidor
// //
this.menuServidor.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuServidor.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuBuscarServidor}); this.menuBuscarServidor});
this.menuServidor.Name = "menuServidor"; this.menuServidor.Name = "menuServidor";
this.menuServidor.Size = new System.Drawing.Size(62, 20); this.menuServidor.Size = new System.Drawing.Size(62, 20);
this.menuServidor.Text = "Servidor"; this.menuServidor.Text = "Servidor";
// //
// menuBuscarServidor // menuBuscarServidor
// //
this.menuBuscarServidor.Name = "menuBuscarServidor"; this.menuBuscarServidor.Name = "menuBuscarServidor";
this.menuBuscarServidor.Size = new System.Drawing.Size(155, 22); this.menuBuscarServidor.Size = new System.Drawing.Size(155, 22);
this.menuBuscarServidor.Text = "Buscar Servidor"; this.menuBuscarServidor.Text = "Buscar Servidor";
this.menuBuscarServidor.Click += new System.EventHandler(this.menuBuscarServidor_Click); this.menuBuscarServidor.Click += new System.EventHandler(this.menuBuscarServidor_Click);
// //
// menuBaseDatos // menuBaseDatos
// //
this.menuBaseDatos.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuBaseDatos.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuConectarA, this.menuConectarA,
this.menuConectarPRUEBAS}); this.menuConectarPRUEBAS});
this.menuBaseDatos.Name = "menuBaseDatos"; this.menuBaseDatos.Name = "menuBaseDatos";
this.menuBaseDatos.Size = new System.Drawing.Size(92, 20); this.menuBaseDatos.Size = new System.Drawing.Size(92, 20);
this.menuBaseDatos.Text = "Base de Datos"; this.menuBaseDatos.Text = "Base de Datos";
// //
// menuConectarA // menuConectarA
// //
this.menuConectarA.Name = "menuConectarA"; this.menuConectarA.Name = "menuConectarA";
this.menuConectarA.Size = new System.Drawing.Size(183, 22); this.menuConectarA.Size = new System.Drawing.Size(183, 22);
this.menuConectarA.Text = "Conectar a..."; this.menuConectarA.Text = "Conectar a...";
this.menuConectarA.Click += new System.EventHandler(this.menuConectarA_Click); this.menuConectarA.Click += new System.EventHandler(this.menuConectarA_Click);
// //
// menuConectarPRUEBAS // menuConectarPRUEBAS
// //
this.menuConectarPRUEBAS.Name = "menuConectarPRUEBAS"; this.menuConectarPRUEBAS.Name = "menuConectarPRUEBAS";
this.menuConectarPRUEBAS.Size = new System.Drawing.Size(183, 22); this.menuConectarPRUEBAS.Size = new System.Drawing.Size(183, 22);
this.menuConectarPRUEBAS.Text = "Conectar a PRUEBAS"; this.menuConectarPRUEBAS.Text = "Conectar a PRUEBAS";
this.menuConectarPRUEBAS.Click += new System.EventHandler(this.menuConectarPRUEBAS_Click); this.menuConectarPRUEBAS.Click += new System.EventHandler(this.menuConectarPRUEBAS_Click);
// //
// flowpnlWindows // flowpnlWindows
// //
this.flowpnlWindows.AutoSize = true; this.flowpnlWindows.AutoSize = true;
this.flowpnlWindows.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.flowpnlWindows.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.flowpnlWindows.Dock = System.Windows.Forms.DockStyle.Top; this.flowpnlWindows.Dock = System.Windows.Forms.DockStyle.Top;
this.flowpnlWindows.Location = new System.Drawing.Point(0, 24); this.flowpnlWindows.Location = new System.Drawing.Point(0, 24);
this.flowpnlWindows.Name = "flowpnlWindows"; this.flowpnlWindows.Name = "flowpnlWindows";
this.flowpnlWindows.Size = new System.Drawing.Size(800, 0); this.flowpnlWindows.Size = new System.Drawing.Size(800, 0);
this.flowpnlWindows.TabIndex = 6; this.flowpnlWindows.TabIndex = 6;
// //
// FrmPrincipal // FrmPrincipal
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 601); this.ClientSize = new System.Drawing.Size(800, 601);
this.Controls.Add(this.flowpnlWindows); this.Controls.Add(this.flowpnlWindows);
this.Controls.Add(this.menuPrincipal); this.Controls.Add(this.menuPrincipal);
this.IsMdiContainer = true; this.IsMdiContainer = true;
this.MainMenuStrip = this.menuPrincipal; this.MainMenuStrip = this.menuPrincipal;
this.Name = "FrmPrincipal"; this.Name = "FrmPrincipal";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Explorador de Servidores"; this.Text = "Explorador de Servidores";
this.MdiChildActivate += new System.EventHandler(this.FrmPrincipal_MdiChildActivate); this.MdiChildActivate += new System.EventHandler(this.FrmPrincipal_MdiChildActivate);
this.menuPrincipal.ResumeLayout(false); this.menuPrincipal.ResumeLayout(false);
this.menuPrincipal.PerformLayout(); this.menuPrincipal.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
} }
#endregion #endregion
private System.Windows.Forms.MenuStrip menuPrincipal; private System.Windows.Forms.MenuStrip menuPrincipal;
private System.Windows.Forms.ToolStripMenuItem menuServidor; private System.Windows.Forms.ToolStripMenuItem menuServidor;
private System.Windows.Forms.ToolStripMenuItem menuBuscarServidor; private System.Windows.Forms.ToolStripMenuItem menuBuscarServidor;
private System.Windows.Forms.ToolStripMenuItem menuBaseDatos; private System.Windows.Forms.ToolStripMenuItem menuBaseDatos;
private System.Windows.Forms.ToolStripMenuItem menuConectarA; private System.Windows.Forms.ToolStripMenuItem menuConectarA;
private System.Windows.Forms.ToolStripMenuItem menuConectarPRUEBAS; private System.Windows.Forms.ToolStripMenuItem menuConectarPRUEBAS;
private System.Windows.Forms.FlowLayoutPanel flowpnlWindows; private System.Windows.Forms.FlowLayoutPanel flowpnlWindows;
} }
} }

View File

@@ -1,116 +1,116 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Windows.Forms; using System.Windows.Forms;
using ServerExplorer.Code; using ServerExplorer.Code;
using ServerExplorer.Controls; using ServerExplorer.Controls;
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
public partial class FrmPrincipal : Form public partial class FrmPrincipal : Form
{ {
#region Declarations #region Declarations
private static FrmPrincipal _currentInstance; private static FrmPrincipal _currentInstance;
#endregion #endregion
#region Creator #region Creator
public FrmPrincipal() public FrmPrincipal()
{ {
_currentInstance = this; _currentInstance = this;
InitializeComponent(); InitializeComponent();
} }
#endregion #endregion
#region WindowList #region WindowList
private List<Form> listChilds = new List<Form>(); private List<Form> listChilds = new List<Form>();
public static void AddForm(Form frm) public static void AddForm(Form frm)
{ {
frm.MdiParent = _currentInstance; frm.MdiParent = _currentInstance;
frm.WindowState = FormWindowState.Maximized; frm.WindowState = FormWindowState.Maximized;
frm.Show(); frm.Show();
_currentInstance.listChilds.Add(frm); _currentInstance.listChilds.Add(frm);
frm.FormClosed += _currentInstance.FrmPrincipal_OnChildClose; frm.FormClosed += _currentInstance.FrmPrincipal_OnChildClose;
_currentInstance.RefreshWindowButtons(); _currentInstance.RefreshWindowButtons();
} }
protected void FrmPrincipal_OnChildClose(object sender, FormClosedEventArgs e) protected void FrmPrincipal_OnChildClose(object sender, FormClosedEventArgs e)
{ {
listChilds.Remove((Form)sender); listChilds.Remove((Form)sender);
RefreshWindowButtons(); RefreshWindowButtons();
} }
private void FrmPrincipal_MdiChildActivate(object sender, EventArgs e) private void FrmPrincipal_MdiChildActivate(object sender, EventArgs e)
{ {
RefreshWindowButtons(); RefreshWindowButtons();
} }
private void RefreshWindowButtons() private void RefreshWindowButtons()
{ {
int childCount = listChilds.Count; int childCount = listChilds.Count;
int delta = childCount - flowpnlWindows.Controls.Count; int delta = childCount - flowpnlWindows.Controls.Count;
if (delta < 0) if (delta < 0)
{ {
int dest = flowpnlWindows.Controls.Count + delta; int dest = flowpnlWindows.Controls.Count + delta;
for (int i = flowpnlWindows.Controls.Count - 1; i >= dest; i--) for (int i = flowpnlWindows.Controls.Count - 1; i >= dest; i--)
{ {
flowpnlWindows.Controls.RemoveAt(i); flowpnlWindows.Controls.RemoveAt(i);
} }
} }
else if (delta > 0) else if (delta > 0)
{ {
for (int i = 0; i < delta; i++) for (int i = 0; i < delta; i++)
{ {
flowpnlWindows.Controls.Add(new WindowButton()); flowpnlWindows.Controls.Add(new WindowButton());
} }
} }
for (int i = 0; i < childCount; i++) for (int i = 0; i < childCount; i++)
{ {
WindowButton btn = (WindowButton)flowpnlWindows.Controls[i]; WindowButton btn = (WindowButton)flowpnlWindows.Controls[i];
Form frm = listChilds[i]; Form frm = listChilds[i];
btn.Text = frm.Text; btn.Text = frm.Text;
btn.Window = frm; btn.Window = frm;
btn.Active = (frm == ActiveMdiChild); btn.Active = (frm == ActiveMdiChild);
} }
} }
#endregion #endregion
#region Menus #region Menus
private void menuConectarPRUEBAS_Click(object sender, EventArgs e) private void menuConectarPRUEBAS_Click(object sender, EventArgs e)
{ {
// Crear ventana de la base de datos de pruebas // Crear ventana de la base de datos de pruebas
var frm = new FrmBaseDatos("Data Source=SSSRV3;Initial Catalog=PRUEBAS;User ID=sa;Password=SLsssrv3"); var frm = new FrmBaseDatos("Data Source=localhost;Initial Catalog=Tests;Integrated Security=True");
//frmBaseDatos frm = new frmBaseDatos("Data Source=DANTE;Initial Catalog=BD_AlfonsoRodriguez;Integrated Security=True"); //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"); //frmBaseDatos frm = new frmBaseDatos("Data Source=OSKURITO;Initial Catalog=BD_AlfonsoRodriguez;Integrated Security=True");
FrmPrincipal.AddForm(frm); FrmPrincipal.AddForm(frm);
} }
private void menuBuscarServidor_Click(object sender, EventArgs e) private void menuBuscarServidor_Click(object sender, EventArgs e)
{ {
// Mostrar ventana de buscador de servidores // Mostrar ventana de buscador de servidores
var frm = new FrmServidores(); var frm = new FrmServidores();
FrmPrincipal.AddForm(frm); FrmPrincipal.AddForm(frm);
} }
private void menuConectarA_Click(object sender, EventArgs e) private void menuConectarA_Click(object sender, EventArgs e)
{ {
// Cargar configuracion // Cargar configuracion
var dialogo = new OpenFileDialog(); var dialogo = new OpenFileDialog();
if (dialogo.ShowDialog() != DialogResult.OK) return; if (dialogo.ShowDialog() != DialogResult.OK) return;
Config config = Config.Cargar(dialogo.FileName); Config config = Config.Cargar(dialogo.FileName);
// Crear y mostrar ventana // Crear y mostrar ventana
var frm = new FrmBaseDatos(config); var frm = new FrmBaseDatos(config);
FrmPrincipal.AddForm(frm); FrmPrincipal.AddForm(frm);
} }
#endregion #endregion
} }
} }

View File

@@ -1,126 +1,126 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <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="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="menuPrincipal.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="menuPrincipal.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>14, 6</value> <value>14, 6</value>
</metadata> </metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>32</value> <value>32</value>
</metadata> </metadata>
</root> </root>

View File

@@ -1,160 +1,160 @@
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
partial class FrmProcedimientos partial class FrmProcedimientos
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.lsvProcs = new ServerExplorer.Controls.CustomListView(); this.lsvProcs = new ServerExplorer.Controls.CustomListView();
this.colNombre = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colNombre = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colSchema = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colSchema = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colFecha = ((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.colTipo = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.txtProc = new ServerExplorer.Controls.CustomTextBox(); this.txtProc = new ServerExplorer.Controls.CustomTextBox();
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.btnRefresh = new System.Windows.Forms.Button(); this.btnRefresh = new System.Windows.Forms.Button();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout(); this.splitContainer1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// lsvProcs // lsvProcs
// //
this.lsvProcs.Activation = System.Windows.Forms.ItemActivation.OneClick; this.lsvProcs.Activation = System.Windows.Forms.ItemActivation.OneClick;
this.lsvProcs.AllowSorting = true; this.lsvProcs.AllowSorting = true;
this.lsvProcs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.lsvProcs.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.lsvProcs.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colNombre, this.colNombre,
this.colSchema, this.colSchema,
this.colFecha, this.colFecha,
this.colTipo}); this.colTipo});
this.lsvProcs.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lsvProcs.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lsvProcs.FullRowSelect = true; this.lsvProcs.FullRowSelect = true;
this.lsvProcs.GridLines = true; this.lsvProcs.GridLines = true;
this.lsvProcs.Location = new System.Drawing.Point(0, 0); this.lsvProcs.Location = new System.Drawing.Point(0, 0);
this.lsvProcs.Name = "lsvProcs"; this.lsvProcs.Name = "lsvProcs";
this.lsvProcs.Size = new System.Drawing.Size(352, 449); this.lsvProcs.Size = new System.Drawing.Size(352, 449);
this.lsvProcs.TabIndex = 0; this.lsvProcs.TabIndex = 0;
this.lsvProcs.UseCompatibleStateImageBehavior = false; this.lsvProcs.UseCompatibleStateImageBehavior = false;
this.lsvProcs.View = System.Windows.Forms.View.Details; this.lsvProcs.View = System.Windows.Forms.View.Details;
this.lsvProcs.SelectedIndexChanged += new System.EventHandler(this.lsvProcs_SelectedIndexChanged); this.lsvProcs.SelectedIndexChanged += new System.EventHandler(this.lsvProcs_SelectedIndexChanged);
// //
// colNombre // colNombre
// //
this.colNombre.Text = "Nombre"; this.colNombre.Text = "Nombre";
this.colNombre.Width = 120; this.colNombre.Width = 120;
// //
// colSchema // colSchema
// //
this.colSchema.Text = "Schema"; this.colSchema.Text = "Schema";
// //
// colFecha // colFecha
// //
this.colFecha.Text = "Fecha"; this.colFecha.Text = "Fecha";
this.colFecha.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; this.colFecha.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
this.colFecha.Width = 84; this.colFecha.Width = 84;
// //
// colTipo // colTipo
// //
this.colTipo.Text = "Tipo"; this.colTipo.Text = "Tipo";
// //
// txtProc // txtProc
// //
this.txtProc.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.txtProc.Font = new System.Drawing.Font("Lucida Console", 8.25F); this.txtProc.Font = new System.Drawing.Font("Lucida Console", 8.25F);
this.txtProc.Location = new System.Drawing.Point(3, 3); this.txtProc.Location = new System.Drawing.Point(3, 3);
this.txtProc.Multiline = true; this.txtProc.Multiline = true;
this.txtProc.Name = "txtProc"; this.txtProc.Name = "txtProc";
this.txtProc.ScrollBars = System.Windows.Forms.ScrollBars.Both; this.txtProc.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.txtProc.Size = new System.Drawing.Size(352, 475); this.txtProc.Size = new System.Drawing.Size(352, 475);
this.txtProc.TabIndex = 1; this.txtProc.TabIndex = 1;
this.txtProc.TabWidth = 4; this.txtProc.TabWidth = 4;
// //
// splitContainer1 // splitContainer1
// //
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.splitContainer1.Location = new System.Drawing.Point(12, 12); this.splitContainer1.Location = new System.Drawing.Point(12, 12);
this.splitContainer1.Name = "splitContainer1"; this.splitContainer1.Name = "splitContainer1";
// //
// splitContainer1.Panel1 // splitContainer1.Panel1
// //
this.splitContainer1.Panel1.Controls.Add(this.btnRefresh); this.splitContainer1.Panel1.Controls.Add(this.btnRefresh);
this.splitContainer1.Panel1.Controls.Add(this.lsvProcs); this.splitContainer1.Panel1.Controls.Add(this.lsvProcs);
// //
// splitContainer1.Panel2 // splitContainer1.Panel2
// //
this.splitContainer1.Panel2.Controls.Add(this.txtProc); this.splitContainer1.Panel2.Controls.Add(this.txtProc);
this.splitContainer1.Size = new System.Drawing.Size(717, 481); this.splitContainer1.Size = new System.Drawing.Size(717, 481);
this.splitContainer1.SplitterDistance = 355; this.splitContainer1.SplitterDistance = 355;
this.splitContainer1.TabIndex = 2; this.splitContainer1.TabIndex = 2;
// //
// btnRefresh // btnRefresh
// //
this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.btnRefresh.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnRefresh.Location = new System.Drawing.Point(3, 455); this.btnRefresh.Location = new System.Drawing.Point(3, 455);
this.btnRefresh.Name = "btnRefresh"; this.btnRefresh.Name = "btnRefresh";
this.btnRefresh.Size = new System.Drawing.Size(75, 23); this.btnRefresh.Size = new System.Drawing.Size(75, 23);
this.btnRefresh.TabIndex = 1; this.btnRefresh.TabIndex = 1;
this.btnRefresh.Text = "Refresh"; this.btnRefresh.Text = "Refresh";
this.btnRefresh.UseVisualStyleBackColor = true; this.btnRefresh.UseVisualStyleBackColor = true;
this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click); this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
// //
// FrmProcedimientos // FrmProcedimientos
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(741, 505); this.ClientSize = new System.Drawing.Size(741, 505);
this.Controls.Add(this.splitContainer1); this.Controls.Add(this.splitContainer1);
this.Name = "FrmProcedimientos"; this.Name = "FrmProcedimientos";
this.Text = "frmProcedimientos"; this.Text = "frmProcedimientos";
this.Load += new System.EventHandler(this.frmProcedimientos_Load); this.Load += new System.EventHandler(this.frmProcedimientos_Load);
this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout(); this.splitContainer1.Panel2.PerformLayout();
this.splitContainer1.ResumeLayout(false); this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
} }
#endregion #endregion
private ServerExplorer.Controls.CustomListView lsvProcs; private ServerExplorer.Controls.CustomListView lsvProcs;
private System.Windows.Forms.ColumnHeader colNombre; private System.Windows.Forms.ColumnHeader colNombre;
private System.Windows.Forms.ColumnHeader colFecha; private System.Windows.Forms.ColumnHeader colFecha;
private ServerExplorer.Controls.CustomTextBox txtProc; private ServerExplorer.Controls.CustomTextBox txtProc;
private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.ColumnHeader colTipo; private System.Windows.Forms.ColumnHeader colTipo;
private System.Windows.Forms.ColumnHeader colSchema; private System.Windows.Forms.ColumnHeader colSchema;
private System.Windows.Forms.Button btnRefresh; private System.Windows.Forms.Button btnRefresh;
} }
} }

View File

@@ -1,105 +1,115 @@
using System; using System;
using System.Data; using System.Data;
using System.Data.SqlClient; using System.Data.SqlClient;
using System.Windows.Forms; using System.Windows.Forms;
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
public partial class FrmProcedimientos : Form public partial class FrmProcedimientos : Form
{ {
#region Declarations #region Declarations
private readonly SqlConnection _cnx; private readonly SqlConnection _cnx;
#endregion #endregion
#region Form life cycle #region Form life cycle
public FrmProcedimientos(string cnxString) public FrmProcedimientos(string cnxString)
{ {
InitializeComponent(); InitializeComponent();
_cnx = new SqlConnection(cnxString); _cnx = new SqlConnection(cnxString);
} }
private void frmProcedimientos_Load(object sender, EventArgs e) private void frmProcedimientos_Load(object sender, EventArgs e)
{ {
LoadProcedures(); LoadProcedures();
} }
#endregion #endregion
#region Events #region Events
private void lsvProcs_SelectedIndexChanged(object sender, EventArgs e) private void lsvProcs_SelectedIndexChanged(object sender, EventArgs e)
{ {
if (lsvProcs.SelectedItems.Count <= 0) { return; } if (lsvProcs.SelectedItems.Count <= 0) { return; }
string name = lsvProcs.SelectedItems[0].SubItems[0].Text; string name = lsvProcs.SelectedItems[0].SubItems[0].Text;
string schema = lsvProcs.SelectedItems[0].SubItems[1].Text; string schema = lsvProcs.SelectedItems[0].SubItems[1].Text;
LoadProcedure(schema, name); LoadProcedure(schema, name);
} }
private void btnRefresh_Click(object sender, EventArgs e) private void btnRefresh_Click(object sender, EventArgs e)
{ {
LoadProcedures(); LoadProcedures();
} }
#endregion #endregion
#region Private methods #region Private methods
private void LoadProcedures() private void LoadProcedures()
{ {
// Obtener un datatable con todos los procedimientos de la base de datos. // Obtener un datatable con todos los procedimientos de la base de datos.
var da = new SqlDataAdapter( var da = new SqlDataAdapter(
"SELECT ROUTINE_NAME Name, ROUTINE_SCHEMA [Schema], CREATED CreateDate, ROUTINE_TYPE [Type] FROM INFORMATION_SCHEMA.ROUTINES", "SELECT ROUTINE_NAME Name, ROUTINE_SCHEMA [Schema], CREATED CreateDate, ROUTINE_TYPE [Type] FROM INFORMATION_SCHEMA.ROUTINES",
_cnx); _cnx);
var dt = new DataTable(); var dt = new DataTable();
_cnx.Open(); _cnx.Open();
da.Fill(dt); da.Fill(dt);
_cnx.Close(); _cnx.Close();
// Mostrar todos los procedimientos // Mostrar todos los procedimientos
lsvProcs.Items.Clear(); lsvProcs.Items.Clear();
foreach (DataRow dr in dt.Rows) foreach (DataRow dr in dt.Rows)
{ {
ListViewItem item = lsvProcs.Items.Add((String)dr["Name"]); ListViewItem item = lsvProcs.Items.Add((String)dr["Name"]);
item.SubItems.Add((string)dr["Schema"]); item.SubItems.Add((string)dr["Schema"]);
item.SubItems.Add(((DateTime)dr["CreateDate"]).ToShortDateString()); item.SubItems.Add(((DateTime)dr["CreateDate"]).ToShortDateString());
item.SubItems.Add((string)dr["Type"]); item.SubItems.Add((string)dr["Type"]);
} }
} }
private void LoadProcedure(string schema, string name) private void LoadProcedure(string schema, string name)
{ {
var da = new SqlDataAdapter(@" SqlDataAdapter dataAdapter;
SELECT _cnx.Open();
ISNULL(smsp.definition, ssmsp.definition) AS [Definition]
FROM sys.all_objects AS sp if (_cnx.ServerVersion.StartsWith("10."))
LEFT OUTER JOIN sys.sql_modules AS smsp ON smsp.object_id = sp.object_id {
LEFT OUTER JOIN sys.system_sql_modules AS ssmsp ON ssmsp.object_id = sp.object_id dataAdapter = new SqlDataAdapter(@"
WHERE SELECT
(sp.type = N'P' OR sp.type = N'RF' OR sp.type='PC') ISNULL(smsp.definition, ssmsp.definition) AS [Definition]
and FROM sys.all_objects AS sp
(sp.name=@name and SCHEMA_NAME(sp.schema_id)=@schema) INNER JOIN sys.schemas sn ON sp.schema_id = sn.schema_id
", _cnx); LEFT OUTER JOIN sys.sql_modules AS smsp ON smsp.object_id = sp.object_id
LEFT OUTER JOIN sys.system_sql_modules AS ssmsp ON ssmsp.object_id = sp.object_id
da.SelectCommand.Parameters.AddWithValue("@Name", name); WHERE
da.SelectCommand.Parameters.AddWithValue("@Schema", schema); (sp.type = N'P' OR sp.type = N'RF' OR sp.type = N'PC' OR sp.type = N'IF' OR sp.type = N'FN' OR sp.type = N'TF')
var dt = new DataTable(); AND
_cnx.Open(); (sp.name = @name and sn.name = @schema)
da.Fill(dt); ", _cnx);
_cnx.Close(); dataAdapter.SelectCommand.Parameters.AddWithValue("@Name", name);
dataAdapter.SelectCommand.Parameters.AddWithValue("@Schema", schema);
// Mostrar el contenido del procedimiento }
txtProc.Text = String.Empty; else
foreach (DataRow dr in dt.Rows) {
{ return;
txtProc.Text += ((string)dr[0]).Replace("\r", "").Replace("\n", "\r\n"); }
}
} var dt = new DataTable();
dataAdapter.Fill(dt);
#endregion _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");
}
}
#endregion
}
}

View File

@@ -1,120 +1,120 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <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="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
</root> </root>

View File

@@ -1,258 +1,257 @@
namespace ServerExplorer.UI namespace ServerExplorer.UI
{ {
partial class FrmServidores partial class FrmServidores
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.lsvServidores = new ServerExplorer.Controls.CustomListView(); this.lsvServidores = new ServerExplorer.Controls.CustomListView();
this.colNombreServidor = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colNombreServidor = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colInstancia = ((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.colVersion = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.btnListarServidores = new System.Windows.Forms.Button(); this.btnListarServidores = new System.Windows.Forms.Button();
this.lblServidor = new System.Windows.Forms.Label(); this.lblServidor = new System.Windows.Forms.Label();
this.txtServidor = new ServerExplorer.Controls.CustomTextBox(); this.txtServidor = new ServerExplorer.Controls.CustomTextBox();
this.lblUsuario = new System.Windows.Forms.Label(); this.lblUsuario = new System.Windows.Forms.Label();
this.lblContrasenha = new System.Windows.Forms.Label(); this.lblContrasenha = new System.Windows.Forms.Label();
this.txtUsuario = new ServerExplorer.Controls.CustomTextBox(); this.txtUsuario = new ServerExplorer.Controls.CustomTextBox();
this.TxtContrasenha = new ServerExplorer.Controls.CustomTextBox(); this.TxtContrasenha = new ServerExplorer.Controls.CustomTextBox();
this.btnListarBBDD = new System.Windows.Forms.Button(); this.btnListarBBDD = new System.Windows.Forms.Button();
this.lsvBBDD = new ServerExplorer.Controls.CustomListView(); this.lsvBBDD = new ServerExplorer.Controls.CustomListView();
this.colDBName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colDBName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colFechaCreacion = ((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 = new System.Windows.Forms.SplitContainer();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout(); this.splitContainer1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// lsvServidores // lsvServidores
// //
this.lsvServidores.AllowSorting = true; this.lsvServidores.AllowSorting = true;
this.lsvServidores.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.lsvServidores.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.lsvServidores.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colNombreServidor, this.colNombreServidor,
this.colInstancia, this.colInstancia,
this.colVersion}); this.colVersion});
this.lsvServidores.FullRowSelect = true; this.lsvServidores.FullRowSelect = true;
this.lsvServidores.Location = new System.Drawing.Point(3, 32); this.lsvServidores.Location = new System.Drawing.Point(3, 32);
this.lsvServidores.Name = "lsvServidores"; this.lsvServidores.Name = "lsvServidores";
this.lsvServidores.Size = new System.Drawing.Size(306, 386); this.lsvServidores.Size = new System.Drawing.Size(306, 386);
this.lsvServidores.TabIndex = 1; this.lsvServidores.TabIndex = 1;
this.lsvServidores.UseCompatibleStateImageBehavior = false; this.lsvServidores.UseCompatibleStateImageBehavior = false;
this.lsvServidores.View = System.Windows.Forms.View.Details; this.lsvServidores.View = System.Windows.Forms.View.Details;
this.lsvServidores.SelectedIndexChanged += new System.EventHandler(this.lsvServidores_SelectedIndexChanged); this.lsvServidores.SelectedIndexChanged += new System.EventHandler(this.lsvServidores_SelectedIndexChanged);
// //
// colNombreServidor // colNombreServidor
// //
this.colNombreServidor.Text = "Servidor"; this.colNombreServidor.Text = "Servidor";
this.colNombreServidor.Width = 110; this.colNombreServidor.Width = 110;
// //
// colInstancia // colInstancia
// //
this.colInstancia.Text = "Instancia"; this.colInstancia.Text = "Instancia";
this.colInstancia.Width = 94; this.colInstancia.Width = 94;
// //
// colVersion // colVersion
// //
this.colVersion.Text = "Version"; this.colVersion.Text = "Version";
this.colVersion.Width = 73; this.colVersion.Width = 73;
// //
// btnListarServidores // btnListarServidores
// //
this.btnListarServidores.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.btnListarServidores.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.btnListarServidores.Location = new System.Drawing.Point(3, 3); this.btnListarServidores.Location = new System.Drawing.Point(3, 3);
this.btnListarServidores.Name = "btnListarServidores"; this.btnListarServidores.Name = "btnListarServidores";
this.btnListarServidores.Size = new System.Drawing.Size(306, 23); this.btnListarServidores.Size = new System.Drawing.Size(306, 23);
this.btnListarServidores.TabIndex = 2; this.btnListarServidores.TabIndex = 2;
this.btnListarServidores.Text = "Listar Servidores"; this.btnListarServidores.Text = "Listar Servidores";
this.btnListarServidores.UseVisualStyleBackColor = true; this.btnListarServidores.UseVisualStyleBackColor = true;
this.btnListarServidores.Click += new System.EventHandler(this.btnListarServidores_Click); this.btnListarServidores.Click += new System.EventHandler(this.btnListarServidores_Click);
// //
// lblServidor // lblServidor
// //
this.lblServidor.AutoSize = true; this.lblServidor.AutoSize = true;
this.lblServidor.Location = new System.Drawing.Point(3, 8); this.lblServidor.Location = new System.Drawing.Point(3, 8);
this.lblServidor.Name = "lblServidor"; this.lblServidor.Name = "lblServidor";
this.lblServidor.Size = new System.Drawing.Size(46, 13); this.lblServidor.Size = new System.Drawing.Size(46, 13);
this.lblServidor.TabIndex = 3; this.lblServidor.TabIndex = 3;
this.lblServidor.Text = "Servidor"; this.lblServidor.Text = "Servidor";
// //
// txtServidor // txtServidor
// //
this.txtServidor.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.txtServidor.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.txtServidor.Location = new System.Drawing.Point(70, 6); this.txtServidor.Location = new System.Drawing.Point(70, 6);
this.txtServidor.Name = "txtServidor"; this.txtServidor.Name = "txtServidor";
this.txtServidor.Size = new System.Drawing.Size(218, 20); this.txtServidor.Size = new System.Drawing.Size(218, 20);
this.txtServidor.TabIndex = 4; this.txtServidor.TabIndex = 4;
// //
// lblUsuario // lblUsuario
// //
this.lblUsuario.AutoSize = true; this.lblUsuario.AutoSize = true;
this.lblUsuario.Location = new System.Drawing.Point(3, 35); this.lblUsuario.Location = new System.Drawing.Point(3, 35);
this.lblUsuario.Name = "lblUsuario"; this.lblUsuario.Name = "lblUsuario";
this.lblUsuario.Size = new System.Drawing.Size(43, 13); this.lblUsuario.Size = new System.Drawing.Size(43, 13);
this.lblUsuario.TabIndex = 5; this.lblUsuario.TabIndex = 5;
this.lblUsuario.Text = "Usuario"; this.lblUsuario.Text = "Usuario";
// //
// lblContrasenha // lblContrasenha
// //
this.lblContrasenha.AutoSize = true; this.lblContrasenha.AutoSize = true;
this.lblContrasenha.Location = new System.Drawing.Point(3, 61); this.lblContrasenha.Location = new System.Drawing.Point(3, 61);
this.lblContrasenha.Name = "lblContrasenha"; this.lblContrasenha.Name = "lblContrasenha";
this.lblContrasenha.Size = new System.Drawing.Size(61, 13); this.lblContrasenha.Size = new System.Drawing.Size(61, 13);
this.lblContrasenha.TabIndex = 6; this.lblContrasenha.TabIndex = 6;
this.lblContrasenha.Text = "Contraseña"; this.lblContrasenha.Text = "Contraseña";
// //
// txtUsuario // txtUsuario
// //
this.txtUsuario.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.txtUsuario.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.txtUsuario.Location = new System.Drawing.Point(70, 32); this.txtUsuario.Location = new System.Drawing.Point(70, 32);
this.txtUsuario.Name = "txtUsuario"; this.txtUsuario.Name = "txtUsuario";
this.txtUsuario.Size = new System.Drawing.Size(218, 20); this.txtUsuario.Size = new System.Drawing.Size(218, 20);
this.txtUsuario.TabIndex = 7; this.txtUsuario.TabIndex = 7;
// //
// TxtContrasenha // TxtContrasenha
// //
this.TxtContrasenha.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.TxtContrasenha.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.TxtContrasenha.Location = new System.Drawing.Point(70, 58); this.TxtContrasenha.Location = new System.Drawing.Point(70, 58);
this.TxtContrasenha.Name = "TxtContrasenha"; this.TxtContrasenha.Name = "TxtContrasenha";
this.TxtContrasenha.Size = new System.Drawing.Size(218, 20); this.TxtContrasenha.Size = new System.Drawing.Size(218, 20);
this.TxtContrasenha.TabIndex = 8; this.TxtContrasenha.TabIndex = 8;
this.TxtContrasenha.UseSystemPasswordChar = true; this.TxtContrasenha.UseSystemPasswordChar = true;
// //
// btnListarBBDD // btnListarBBDD
// //
this.btnListarBBDD.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.btnListarBBDD.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.btnListarBBDD.Location = new System.Drawing.Point(6, 84); this.btnListarBBDD.Location = new System.Drawing.Point(6, 84);
this.btnListarBBDD.Name = "btnListarBBDD"; this.btnListarBBDD.Name = "btnListarBBDD";
this.btnListarBBDD.Size = new System.Drawing.Size(282, 23); this.btnListarBBDD.Size = new System.Drawing.Size(282, 23);
this.btnListarBBDD.TabIndex = 9; this.btnListarBBDD.TabIndex = 9;
this.btnListarBBDD.Text = "Listar BBDD"; this.btnListarBBDD.Text = "Listar BBDD";
this.btnListarBBDD.UseVisualStyleBackColor = true; this.btnListarBBDD.UseVisualStyleBackColor = true;
this.btnListarBBDD.Click += new System.EventHandler(this.btnListarBBDD_Click); this.btnListarBBDD.Click += new System.EventHandler(this.btnListarBBDD_Click);
// //
// lsvBBDD // lsvBBDD
// //
this.lsvBBDD.AllowSorting = true; this.lsvBBDD.AllowSorting = true;
this.lsvBBDD.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.lsvBBDD.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.lsvBBDD.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.colDBName, this.colDBName,
this.colFechaCreacion}); this.colFechaCreacion});
this.lsvBBDD.FullRowSelect = true; this.lsvBBDD.FullRowSelect = true;
this.lsvBBDD.Location = new System.Drawing.Point(6, 113); this.lsvBBDD.Location = new System.Drawing.Point(6, 113);
this.lsvBBDD.Name = "lsvBBDD"; this.lsvBBDD.Name = "lsvBBDD";
this.lsvBBDD.Size = new System.Drawing.Size(282, 305); this.lsvBBDD.Size = new System.Drawing.Size(282, 305);
this.lsvBBDD.TabIndex = 11; this.lsvBBDD.TabIndex = 11;
this.lsvBBDD.UseCompatibleStateImageBehavior = false; this.lsvBBDD.UseCompatibleStateImageBehavior = false;
this.lsvBBDD.View = System.Windows.Forms.View.Details; this.lsvBBDD.View = System.Windows.Forms.View.Details;
this.lsvBBDD.DoubleClick += new System.EventHandler(this.lsvBBDD_DoubleClick); this.lsvBBDD.DoubleClick += new System.EventHandler(this.lsvBBDD_DoubleClick);
// //
// colDBName // colDBName
// //
this.colDBName.Text = "Base de Datos"; this.colDBName.Text = "Base de Datos";
this.colDBName.Width = 165; this.colDBName.Width = 165;
// //
// colFechaCreacion // colFechaCreacion
// //
this.colFechaCreacion.Text = "Fecha de Creacion"; this.colFechaCreacion.Text = "Fecha de Creacion";
this.colFechaCreacion.Width = 107; this.colFechaCreacion.Width = 107;
// //
// splitContainer1 // splitContainer1
// //
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 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.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.splitContainer1.Location = new System.Drawing.Point(12, 12); this.splitContainer1.Location = new System.Drawing.Point(12, 12);
this.splitContainer1.Name = "splitContainer1"; this.splitContainer1.Name = "splitContainer1";
// //
// splitContainer1.Panel1 // splitContainer1.Panel1
// //
this.splitContainer1.Panel1.Controls.Add(this.lsvServidores); this.splitContainer1.Panel1.Controls.Add(this.lsvServidores);
this.splitContainer1.Panel1.Controls.Add(this.btnListarServidores); this.splitContainer1.Panel1.Controls.Add(this.btnListarServidores);
// //
// splitContainer1.Panel2 // splitContainer1.Panel2
// //
this.splitContainer1.Panel2.Controls.Add(this.lblServidor); this.splitContainer1.Panel2.Controls.Add(this.lblServidor);
this.splitContainer1.Panel2.Controls.Add(this.lsvBBDD); this.splitContainer1.Panel2.Controls.Add(this.lsvBBDD);
this.splitContainer1.Panel2.Controls.Add(this.txtServidor); this.splitContainer1.Panel2.Controls.Add(this.txtServidor);
this.splitContainer1.Panel2.Controls.Add(this.btnListarBBDD); this.splitContainer1.Panel2.Controls.Add(this.btnListarBBDD);
this.splitContainer1.Panel2.Controls.Add(this.lblUsuario); this.splitContainer1.Panel2.Controls.Add(this.lblUsuario);
this.splitContainer1.Panel2.Controls.Add(this.lblContrasenha); this.splitContainer1.Panel2.Controls.Add(this.lblContrasenha);
this.splitContainer1.Panel2.Controls.Add(this.TxtContrasenha); this.splitContainer1.Panel2.Controls.Add(this.TxtContrasenha);
this.splitContainer1.Panel2.Controls.Add(this.txtUsuario); this.splitContainer1.Panel2.Controls.Add(this.txtUsuario);
this.splitContainer1.Size = new System.Drawing.Size(607, 421); this.splitContainer1.Size = new System.Drawing.Size(607, 421);
this.splitContainer1.SplitterDistance = 312; this.splitContainer1.SplitterDistance = 312;
this.splitContainer1.TabIndex = 12; this.splitContainer1.TabIndex = 12;
// //
// FrmServidores // FrmServidores
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(631, 445); this.ClientSize = new System.Drawing.Size(631, 445);
this.Controls.Add(this.splitContainer1); this.Controls.Add(this.splitContainer1);
this.Name = "FrmServidores"; this.Name = "FrmServidores";
this.Text = "Servidores"; this.Text = "Servidores";
this.Load += new System.EventHandler(this.Form1_Load); this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false); this.splitContainer1.Panel2.PerformLayout();
this.splitContainer1.Panel2.PerformLayout(); this.splitContainer1.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false); this.ResumeLayout(false);
this.ResumeLayout(false);
}
}
#endregion
#endregion
private ServerExplorer.Controls.CustomListView lsvServidores;
private ServerExplorer.Controls.CustomListView lsvServidores; private System.Windows.Forms.Button btnListarServidores;
private System.Windows.Forms.Button btnListarServidores; private System.Windows.Forms.ColumnHeader colNombreServidor;
private System.Windows.Forms.ColumnHeader colNombreServidor; private System.Windows.Forms.ColumnHeader colInstancia;
private System.Windows.Forms.ColumnHeader colInstancia; private System.Windows.Forms.ColumnHeader colVersion;
private System.Windows.Forms.ColumnHeader colVersion; private System.Windows.Forms.Label lblServidor;
private System.Windows.Forms.Label lblServidor; private ServerExplorer.Controls.CustomTextBox txtServidor;
private ServerExplorer.Controls.CustomTextBox txtServidor; private System.Windows.Forms.Label lblUsuario;
private System.Windows.Forms.Label lblUsuario; private System.Windows.Forms.Label lblContrasenha;
private System.Windows.Forms.Label lblContrasenha; private ServerExplorer.Controls.CustomTextBox txtUsuario;
private ServerExplorer.Controls.CustomTextBox txtUsuario; private ServerExplorer.Controls.CustomTextBox TxtContrasenha;
private ServerExplorer.Controls.CustomTextBox TxtContrasenha; private System.Windows.Forms.Button btnListarBBDD;
private System.Windows.Forms.Button btnListarBBDD; private ServerExplorer.Controls.CustomListView lsvBBDD;
private ServerExplorer.Controls.CustomListView lsvBBDD; private System.Windows.Forms.ColumnHeader colDBName;
private System.Windows.Forms.ColumnHeader colDBName; private System.Windows.Forms.ColumnHeader colFechaCreacion;
private System.Windows.Forms.ColumnHeader colFechaCreacion; private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.SplitContainer splitContainer1;
}
} }
}

View File

@@ -1,94 +1,85 @@
using System; using System;
using System.Data; using System.Collections.Generic;
using System.Data.Sql; using System.Data.SqlClient;
using System.Data.SqlClient; using System.Windows.Forms;
using System.Windows.Forms; using ServerExplorer.Code.DataAccess;
using ServerExplorer.Code.DataTransfer;
namespace ServerExplorer.UI
{ namespace ServerExplorer.UI
public partial class FrmServidores : Form {
{ public partial class FrmServidores : Form
public FrmServidores() {
{ public FrmServidores()
InitializeComponent(); {
} InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{ private void btnListarServidores_Click(object sender, EventArgs e)
} {
List<Server> servers = ServerDA.Server_GetRegs();
private void btnListarServidores_Click(object sender, EventArgs e)
{ lsvServidores.Items.Clear();
// Obtener listado de servidores lsvBBDD.Items.Clear();
SqlDataSourceEnumerator enumerador = SqlDataSourceEnumerator.Instance; foreach (Server server in servers)
DataTable servidores = enumerador.GetDataSources(); {
lsvServidores.Items.Clear(); ListViewItem item = lsvServidores.Items.Add(server.Name);
lsvBBDD.Items.Clear(); item.SubItems.Add(server.Instance);
foreach (DataRow dr in servidores.Rows) item.SubItems.Add(server.Version);
{ }
ListViewItem item = lsvServidores.Items.Add((String)dr["ServerName"]); }
item.SubItems.Add((dr["InstanceName"] == DBNull.Value) ? string.Empty : (String)dr["InstanceName"]);
item.SubItems.Add((dr["Version"] == DBNull.Value) ? "???" : (String) dr["Version"]); private void lsvServidores_SelectedIndexChanged(object sender, EventArgs e)
} {
} if (lsvServidores.SelectedItems.Count > 0)
{
private void lsvServidores_SelectedIndexChanged(object sender, EventArgs e) ListViewItem item = lsvServidores.SelectedItems[0];
{ txtServidor.Text = String.IsNullOrEmpty(item.SubItems[1].Text)
if (lsvServidores.SelectedItems.Count > 0) ? item.SubItems[0].Text
{ : String.Format("{0}/{1}", item.SubItems[0].Text, item.SubItems[1].Text);
ListViewItem item = lsvServidores.SelectedItems[0]; }
txtServidor.Text = String.IsNullOrEmpty(item.SubItems[1].Text) }
? item.SubItems[0].Text
: String.Format("{0}/{1}", item.SubItems[0].Text, item.SubItems[1].Text); private void btnListarBBDD_Click(object sender, EventArgs e)
} {
} List<Database> databases = DatabaseDA.Database_GetRegs(BuildConnectionString());
private void btnListarBBDD_Click(object sender, EventArgs e) lsvBBDD.Items.Clear();
{ foreach (Database database in databases)
// Obtener todas las bases de datos {
var cnx = new SqlConnection(BuildConnectionString()); ListViewItem item = lsvBBDD.Items.Add(database.Name);
cnx.Open(); item.SubItems.Add(database.CreateDate.ToShortDateString());
DataTable dt = cnx.GetSchema("Databases"); }
cnx.Close(); }
// Mostrar bases de datos
lsvBBDD.Items.Clear(); private void lsvBBDD_DoubleClick(object sender, EventArgs e)
foreach (DataRow dr in dt.Rows) {
{ if (lsvBBDD.SelectedItems.Count != 1) return;
ListViewItem item = lsvBBDD.Items.Add((String)dr["database_name"]);
item.SubItems.Add(((DateTime)dr["create_date"]).ToShortDateString()); // Llamar a la venta de la base de datos
} var frm = new FrmBaseDatos(BuildConnectionString());
} FrmPrincipal.AddForm(frm);
}
private void lsvBBDD_DoubleClick(object sender, EventArgs e) private string BuildConnectionString()
{ {
if (lsvBBDD.SelectedItems.Count != 1) return; // Construir cadena de conexion
var constructor = new SqlConnectionStringBuilder();
// Llamar a la venta de la base de datos constructor.DataSource = (!string.IsNullOrEmpty(txtServidor.Text)) ? txtServidor.Text : "localhost";
var frm = new FrmBaseDatos(BuildConnectionString()); if (lsvBBDD.SelectedItems.Count > 0)
FrmPrincipal.AddForm(frm); {
} constructor.InitialCatalog = lsvBBDD.SelectedItems[0].SubItems[0].Text;
}
private string BuildConnectionString() if (String.IsNullOrEmpty(txtUsuario.Text))
{ {
// Construir cadena de conexion constructor.IntegratedSecurity = true;
var constructor = new SqlConnectionStringBuilder(); }
constructor.DataSource = (!string.IsNullOrEmpty(txtServidor.Text)) ? txtServidor.Text : "localhost"; else
if (lsvBBDD.SelectedItems.Count > 0) {
{ constructor.UserID = txtUsuario.Text;
constructor.InitialCatalog = lsvBBDD.SelectedItems[0].SubItems[0].Text; constructor.Password = TxtContrasenha.Text;
} }
if (String.IsNullOrEmpty(txtUsuario.Text)) return constructor.ConnectionString;
{ }
constructor.IntegratedSecurity = true; }
} }
else
{
constructor.UserID = txtUsuario.Text;
constructor.Password = TxtContrasenha.Text;
}
return constructor.ConnectionString;
}
}
}

View File

@@ -1,120 +1,120 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <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="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
</root> </root>