Rename to VAR.DatabaseExplorer

This commit is contained in:
2018-03-03 20:29:27 +01:00
parent 59d351d14f
commit 3656b90eba
41 changed files with 4037 additions and 3975 deletions

4
.gitignore vendored
View File

@@ -3,5 +3,5 @@
*.dll
*.pdb
*.user
ServerExplorer/obj
ServerExplorer/bin
*/bin/*
*/obj/*

View File

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

View File

@@ -1,20 +1,22 @@

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

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VAR.DatabaseExplorer", "VAR.DatabaseExplorer\VAR.DatabaseExplorer.csproj", "{79531B74-3062-4A71-9953-5702BEBDEC0E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{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}.Release|Any CPU.ActiveCfg = Release|Any CPU
{79531B74-3062-4A71-9953-5702BEBDEC0E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

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

View File

@@ -1,33 +1,33 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using ServerExplorer.Code.DataTransfer;
namespace ServerExplorer.Code.DataAccess
{
public 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();
dt.DefaultView.Sort = "database_name ASC, create_date ASC";
dt = dt.DefaultView.ToTable();
foreach (DataRow dr in dt.Rows)
{
databases.Add(new Database
{
Name = (String) dr["database_name"],
CreateDate = (DateTime) dr["create_date"]
});
}
return databases;
}
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using VAR.DatabaseExplorer.Code.DataTransfer;
namespace VAR.DatabaseExplorer.Code.DataAccess
{
public 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();
dt.DefaultView.Sort = "database_name ASC, create_date ASC";
dt = dt.DefaultView.ToTable();
foreach (DataRow dr in dt.Rows)
{
databases.Add(new Database
{
Name = (String) dr["database_name"],
CreateDate = (DateTime) dr["create_date"]
});
}
return databases;
}
}
}

View File

@@ -1,32 +1,32 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Sql;
using ServerExplorer.Code.DataTransfer;
namespace ServerExplorer.Code.DataAccess
{
public class ServerDA
{
public static List<Server> Server_GetRegs()
{
var servers = new List<Server>();
SqlDataSourceEnumerator enumerador = SqlDataSourceEnumerator.Instance;
DataTable dtServers = enumerador.GetDataSources();
dtServers.DefaultView.Sort = "ServerName ASC, InstanceName ASC, Version ASC";
dtServers = dtServers.DefaultView.ToTable();
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;
}
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Sql;
using VAR.DatabaseExplorer.Code.DataTransfer;
namespace VAR.DatabaseExplorer.Code.DataAccess
{
public class ServerDA
{
public static List<Server> Server_GetRegs()
{
var servers = new List<Server>();
SqlDataSourceEnumerator enumerador = SqlDataSourceEnumerator.Instance;
DataTable dtServers = enumerador.GetDataSources();
dtServers.DefaultView.Sort = "ServerName ASC, InstanceName ASC, Version ASC";
dtServers = dtServers.DefaultView.ToTable();
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

@@ -1,36 +1,36 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using ServerExplorer.Code.DataTransfer;
namespace ServerExplorer.Code.DataAccess
{
public class TableDA
{
public static List<Table> Table_GetRegs(string conexionString)
{
var tables = new List<Table>();
var cnx = new SqlConnection(conexionString);
cnx.Open();
DataTable dt = cnx.GetSchema("Tables");
cnx.Close();
dt.DefaultView.Sort = "TABLE_SCHEMA ASC, TABLE_NAME ASC, TABLE_TYPE ASC";
dt = dt.DefaultView.ToTable();
// Mostrar todas las tablas
foreach (DataRow dr in dt.Rows)
{
tables.Add(new Table
{
Schema = (string)dr["TABLE_SCHEMA"],
Name = (string)dr["TABLE_NAME"],
Type = (string)dr["TABLE_TYPE"]
});
}
return tables;
}
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using VAR.DatabaseExplorer.Code.DataTransfer;
namespace VAR.DatabaseExplorer.Code.DataAccess
{
public class TableDA
{
public static List<Table> Table_GetRegs(string conexionString)
{
var tables = new List<Table>();
var cnx = new SqlConnection(conexionString);
cnx.Open();
DataTable dt = cnx.GetSchema("Tables");
cnx.Close();
dt.DefaultView.Sort = "TABLE_SCHEMA ASC, TABLE_NAME ASC, TABLE_TYPE ASC";
dt = dt.DefaultView.ToTable();
// Mostrar todas las tablas
foreach (DataRow dr in dt.Rows)
{
tables.Add(new Table
{
Schema = (string)dr["TABLE_SCHEMA"],
Name = (string)dr["TABLE_NAME"],
Type = (string)dr["TABLE_TYPE"]
});
}
return tables;
}
}
}

View File

@@ -1,19 +1,19 @@

using System;
using System.Xml.Serialization;
namespace ServerExplorer.Code.DataTransfer
{
[Serializable]
public 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; }
}
}

using System;
using System.Xml.Serialization;
namespace VAR.DatabaseExplorer.Code.DataTransfer
{
[Serializable]
public 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

@@ -1,25 +1,25 @@

using System;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace ServerExplorer.Code.DataTransfer
{
[Serializable]
public 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; }
}
}
}

using System;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace VAR.DatabaseExplorer.Code.DataTransfer
{
[Serializable]
public 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

@@ -1,34 +1,34 @@
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace ServerExplorer.Code.DataTransfer
{
[Serializable]
public 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; }
}
}
}
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace VAR.DatabaseExplorer.Code.DataTransfer
{
[Serializable]
public 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

@@ -1,26 +1,26 @@

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

using System;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace VAR.DatabaseExplorer.Code.DataTransfer
{
[Serializable]
public class Table
{
[XmlAttribute]
public string Schema { get; set; }
[XmlAttribute]
public string Name { get; set; }
[XmlAttribute]
public string Type { get; set; }
private readonly List<Column> _columns = new List<Column>();
[XmlArray]
public List<Column> Columns
{
get { return _columns; }
}
}
}

View File

@@ -1,18 +1,18 @@
using System;
using System.Xml.Serialization;
namespace ServerExplorer.Code.DataTransfer
{
[Serializable]
public class User
{
[XmlAttribute]
public bool ImplicitUser { get; set; }
[XmlAttribute]
public string UserName { get; set; }
[XmlAttribute]
public string Password { get; set; }
}
}
using System;
using System.Xml.Serialization;
namespace VAR.DatabaseExplorer.Code.DataTransfer
{
[Serializable]
public 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.Collections.Generic;
using System.Xml.Serialization;
namespace ServerExplorer.Code
{
[Serializable]
public class DatabaseDesc
{
private string _nombre = string.Empty;
[XmlAttribute("Nombre")]
public string Nombre
{
get { return _nombre; }
set { _nombre = value; }
}
private readonly List<TablaDesc> _tablas = new List<TablaDesc>();
[XmlArray("Tablas")]
public List<TablaDesc> Tablas { get { return _tablas; } }
}
}
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
namespace VAR.DatabaseExplorer.Code
{
[Serializable]
public class DatabaseDesc
{
private string _nombre = string.Empty;
[XmlAttribute("Nombre")]
public string Nombre
{
get { return _nombre; }
set { _nombre = value; }
}
private readonly List<TablaDesc> _tablas = new List<TablaDesc>();
[XmlArray("Tablas")]
public List<TablaDesc> Tablas { get { return _tablas; } }
}
}

View File

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

View File

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

View File

@@ -1,120 +1,120 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
using System.Text;
namespace ServerExplorer.Code
{
public static class Utiles
{
#region File Utils
public static void CrearDirectorio(this String path)
{
DirectoryInfo info;
try
{
info = new DirectoryInfo(path);
}
catch (Exception)
{
info = new DirectoryInfo(".");
}
CrearDirectorio(info);
}
public static void CrearDirectorio(this DirectoryInfo info)
{
if (info.Parent != null) CrearDirectorio(info.Parent);
if (!info.Exists) info.Create();
}
#endregion
#region DataTable Utils
public static List<string> DataTable_GenerateInserts(DataTable dataTable, string destTable)
{
var nfi = new NumberFormatInfo { NumberDecimalSeparator = "." };
var listCmds = new List<string>();
// Recorrer la tabla de datos
foreach (DataRow dr in dataTable.Rows)
{
var sbColumns = new StringBuilder();
var sbValues = new StringBuilder();
foreach (DataColumn dc in dataTable.Columns)
{
// El nombre de la columna
if (sbColumns.Length > 0) { sbColumns.Append(", "); }
sbColumns.AppendFormat("[{0}]", dc.ColumnName);
// El valor de la columna
if (sbValues.Length > 0) { sbValues.Append(", "); }
object valor = dr[dc];
if (valor == DBNull.Value || valor == null)
{
// NULOS
sbValues.Append("NULL");
}
else
{
string type = dc.DataType.Name.ToLower();
if (type == "string")
{
// Cadenas
sbValues.AppendFormat("'{0}'", ((string)valor).Replace("'", "''"));
}
else if (type == "int" || type == "int32" || type == "int64")
{
// int
sbValues.Append(((int)valor).ToString(nfi));
}
else if (type == "long" || type == "int64")
{
// long
sbValues.Append(((long)valor).ToString(nfi));
}
else if (type == "decimal")
{
// Decimales
sbValues.Append(((decimal)valor).ToString(nfi));
}
else if (type == "bit" || type == "bool" || type == "boolean")
{
// Booleanos
sbValues.Append(((bool)valor) ? "1" : "0");
}
else if (type == "byte[]")
{
// Arrays de bytes (imagenes, archivos etc)
sbValues.AppendFormat("0x{0}", BitConverter.ToString(((byte[])valor)).Replace("-", ""));
}
else if (type == "datetime")
{
// DateTIme
sbValues.AppendFormat("'{0}'", ((DateTime)valor).ToString("yyyy-MM-dd HH:mm:ss"));
}
else
{
// Otros
sbValues.AppendFormat("'{0}'", valor.ToString());
}
}
}
// Insertar fila a la datatable destino
listCmds.Add(String.Format("INSERT INTO {0} ({1}) VALUES ({2});",
destTable, sbColumns.ToString(), sbValues.ToString()));
}
return listCmds;
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
using System.Text;
namespace VAR.DatabaseExplorer.Code
{
public static class Utiles
{
#region File Utils
public static void CrearDirectorio(this String path)
{
DirectoryInfo info;
try
{
info = new DirectoryInfo(path);
}
catch (Exception)
{
info = new DirectoryInfo(".");
}
CrearDirectorio(info);
}
public static void CrearDirectorio(this DirectoryInfo info)
{
if (info.Parent != null) CrearDirectorio(info.Parent);
if (!info.Exists) info.Create();
}
#endregion
#region DataTable Utils
public static List<string> DataTable_GenerateInserts(DataTable dataTable, string destTable)
{
var nfi = new NumberFormatInfo { NumberDecimalSeparator = "." };
var listCmds = new List<string>();
// Recorrer la tabla de datos
foreach (DataRow dr in dataTable.Rows)
{
var sbColumns = new StringBuilder();
var sbValues = new StringBuilder();
foreach (DataColumn dc in dataTable.Columns)
{
// El nombre de la columna
if (sbColumns.Length > 0) { sbColumns.Append(", "); }
sbColumns.AppendFormat("[{0}]", dc.ColumnName);
// El valor de la columna
if (sbValues.Length > 0) { sbValues.Append(", "); }
object valor = dr[dc];
if (valor == DBNull.Value || valor == null)
{
// NULOS
sbValues.Append("NULL");
}
else
{
string type = dc.DataType.Name.ToLower();
if (type == "string")
{
// Cadenas
sbValues.AppendFormat("'{0}'", ((string)valor).Replace("'", "''"));
}
else if (type == "int" || type == "int32" || type == "int64")
{
// int
sbValues.Append(((int)valor).ToString(nfi));
}
else if (type == "long" || type == "int64")
{
// long
sbValues.Append(((long)valor).ToString(nfi));
}
else if (type == "decimal")
{
// Decimales
sbValues.Append(((decimal)valor).ToString(nfi));
}
else if (type == "bit" || type == "bool" || type == "boolean")
{
// Booleanos
sbValues.Append(((bool)valor) ? "1" : "0");
}
else if (type == "byte[]")
{
// Arrays de bytes (imagenes, archivos etc)
sbValues.AppendFormat("0x{0}", BitConverter.ToString(((byte[])valor)).Replace("-", ""));
}
else if (type == "datetime")
{
// DateTIme
sbValues.AppendFormat("'{0}'", ((DateTime)valor).ToString("yyyy-MM-dd HH:mm:ss"));
}
else
{
// Otros
sbValues.AppendFormat("'{0}'", valor.ToString());
}
}
}
// Insertar fila a la datatable destino
listCmds.Add(String.Format("INSERT INTO {0} ({1}) VALUES ({2});",
destTable, sbColumns.ToString(), sbValues.ToString()));
}
return listCmds;
}
#endregion
}
}

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,14 @@
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("DatabaseExplorer")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("VAR")]
[assembly: AssemblyProduct("DatabaseExplorer")]
[assembly: AssemblyCopyright("Copyright © VAR 2012-2018")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("31f76805-336c-471c-8af2-a4c1364e97b9")]
[assembly: AssemblyVersion("1.0.0.*")]

View File

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

View File

@@ -1,379 +1,379 @@
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Xml.Serialization;
using ServerExplorer.Code;
using System.Collections.Generic;
using ServerExplorer.Code.DataTransfer;
using ServerExplorer.Code.DataAccess;
using System.IO;
namespace ServerExplorer.UI
{
public partial class FrmBaseDatos : Form
{
private SqlConnection _cnx;
private Config _config;
private String _tableSchema;
private String _tableName;
private void Initialize()
{
// Establecer conexion
txtConString.Text = _config.ConnectionString;
_cnx = new SqlConnection(_config.ConnectionString);
List<Table> tables = TableDA.Table_GetRegs(_config.ConnectionString);
lsvTablas.Items.Clear();
foreach (Table table in tables)
{
ListViewItem item = lsvTablas.Items.Add(table.Schema);
item.SubItems.Add(table.Name);
item.SubItems.Add(table.Type);
}
TablesToListView();
lsvColumnas.Items.Clear();
}
/// <summary>
/// Metodo para copiar las tablas seleccionadas en el listview a la configuracion
/// </summary>
private void TablesFromListView()
{
_config.Tablas.Clear();
foreach (ListViewItem item in lsvTablas.Items)
{
if (item.Checked)
{
_config.Tablas.Add(new TablaInfo
{
Esquema = item.SubItems[0].Text,
Nombre = item.SubItems[1].Text
});
}
}
}
/// <summary>
/// Metodo para seleccionar las tablas en le listview desde la configuracion
/// </summary>
private void TablesToListView()
{
int j;
// Desmarcar todos en caso de no haber ninguna tabla
if (_config.Tablas.Count == 0)
{
foreach (ListViewItem item in lsvTablas.Items)
item.Checked = false;
return;
}
// Recorrer items marcando los que estan en la configuracion
int n = _config.Tablas.Count;
int i = j = 0;
foreach (ListViewItem item in lsvTablas.Items)
{
item.Checked = false;
do
{
if (String.Compare(_config.Tablas[i].Esquema, item.SubItems[0].Text, StringComparison.Ordinal) == 0 &&
String.Compare(_config.Tablas[i].Nombre, item.SubItems[1].Text, StringComparison.Ordinal) == 0)
{
item.Checked = true;
break;
}
i = (i + 1) % n;
} while (i != j);
j = i;
}
}
public DatabaseDesc CrearDatabaseDesc()
{
var db = new DatabaseDesc { Nombre = _cnx.Database };
foreach (TablaInfo t in _config.Tablas)
{
var td = new TablaDesc();
td.FillDesc(t.Esquema, t.Nombre, _cnx);
db.Tablas.Add(td);
}
return (db);
}
public FrmBaseDatos(String connectionString)
{
InitializeComponent();
_config = new Config {ConnectionString = connectionString};
}
public FrmBaseDatos(Config config)
{
InitializeComponent();
_config = config;
}
private void frmBaseDatos_Load(object sender, EventArgs e)
{
Initialize();
// Establecer titulos
lblTituloDB.Text = _cnx.Database;
lblTituloTabla.Text = "";
}
private void btnCopiarConString_Click(object sender, EventArgs e)
{
// Copiar la cadena de conexion al portapapeles
Clipboard.SetText(txtConString.Text);
}
private void lsvTablas_SelectedIndexChanged(object sender, EventArgs e)
{
if (lsvTablas.SelectedItems.Count != 1) { return; }
// Determinar tabla seleccionada
ListViewItem item = lsvTablas.SelectedItems[0];
// Recordar tabla seleccionada
_tableSchema = item.SubItems[0].Text;
_tableName = item.SubItems[1].Text;
// Establecer titulo de la lista de columnas
lblTituloTabla.Text = _tableSchema + @"." + _tableName;
// Obtener descripcion de tabla
var td = new TablaDesc();
td.FillDesc(_tableSchema, _tableName, _cnx);
// Mostrar "columnas" de las tablas
lsvColumnas.Items.Clear();
foreach (ColumnaDesc col in td.Columnas)
{
ListViewItem subitem = lsvColumnas.Items.Add(col.Nombre);
subitem.SubItems.Add(col.Tipo);
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.Nullable ? "Null" : "NotNull");
}
}
private void menuCargar_Click(object sender, EventArgs e)
{
var dialogo = new OpenFileDialog();
if (dialogo.ShowDialog() == DialogResult.OK)
{
_config = Config.Cargar(dialogo.FileName);
Initialize();
}
}
private void menuGuardar_Click(object sender, EventArgs e)
{
var dialogo = new SaveFileDialog();
if (dialogo.ShowDialog() == DialogResult.OK)
{
TablesFromListView();
_config.Guardar(dialogo.FileName);
}
}
private void menuConfiguracion_Click(object sender, EventArgs e)
{
//// Llamar a la ventana de configuracion
//FrmCodeGenConfig frm = new FrmCodeGenConfig(config);
//frm.ShowDialog();
}
private void btnVerDatos_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(_tableSchema) || string.IsNullOrEmpty(_tableName)) { return; }
// Obtener descripcion de tabla
var td = new TablaDesc();
td.FillDesc(_tableSchema, _tableName, _cnx);
// Crear y mostrar el formulario de los datos.
var form = new FrmDatos(td, _config.ConnectionString);
FrmPrincipal.AddForm(form);
}
private void btnProcs_Click(object sender, EventArgs e)
{
// Crear y mostrar el formulario de los procedimientos.
var form = new FrmProcedimientos(_config.ConnectionString);
FrmPrincipal.AddForm(form);
}
private void btnExec_Click(object sender, EventArgs e)
{
// Crear y mostrar el formulario de exec.
var form = new FrmExec(_config.ConnectionString);
FrmPrincipal.AddForm(form);
}
private void menuBaseDatos_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
private void btnGenerar_Click(object sender, EventArgs e)
{
TablesFromListView();
DatabaseDesc db = CrearDatabaseDesc();
var seriador = new XmlSerializer(typeof(DatabaseDesc));
seriador.Serialize(Console.Out, db);
//CodeGen.GenerarCodigo(config, db);
}
private void btnDocGen_Click(object sender, EventArgs e)
{
// Hacer insensible la ventana
Parent.Enabled = false;
// Obtener informacion.
TablesFromListView();
DatabaseDesc db = CrearDatabaseDesc();
// Escribir documentacion
DocGen.GenerarDocumentacion(db);
// Hace sensible la ventana
Parent.Enabled = true;
/*
tablas_delistview();
Thread hilo=new Thread(new ThreadStart(instancia.GenerarDoc));
hilo.Start();
*/
}
public void GenerarDoc()
{
// Hacer insensible la ventana
Enabled = false;
// Obtener informacion.
DatabaseDesc db = CrearDatabaseDesc();
// Escribir documentacion
DocGen.GenerarDocumentacion(db);
// Hace sensible la ventana
Enabled = true;
}
private void btnRefresh_Click(object sender, EventArgs e)
{
Initialize();
}
private void btnExportData_Click(object sender, EventArgs e)
{
// Hacer insensible la ventana
Parent.Enabled = false;
// Obtener informacion.
TablesFromListView();
DatabaseDesc db = CrearDatabaseDesc();
// Preparar cabecera del script
var listCmds = new List<string>();
listCmds.Add("SET NOCOUNT ON;");
listCmds.Add(string.Empty);
//// Comandos de desactivacion de FKs
//foreach (TablaDesc t in db.Tablas)
//{
// string tableName = string.Format("{0}.{1}", t.Esquema, t.Nombre);
// listCmds.Add(string.Format("ALTER TABLE {0} NOCHECK CONSTRAINT all;", tableName));
//}
//listCmds.Add("GO");
//listCmds.Add(string.Empty);
// Desactivar todas las FKs
listCmds.Add("-- Disable all constraints");
listCmds.Add("EXEC sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'");
listCmds.Add("GO");
listCmds.Add(string.Empty);
// Prepara informacion a exportar
foreach (TablaDesc t in db.Tablas)
{
string tableName = string.Format("{0}.{1}", t.Esquema, t.Nombre);
listCmds.Add(string.Format("PRINT '*** Importing data of {0}....';", tableName));
List<string> listCmdsTableData = ExportData(tableName);
listCmds.AddRange(listCmdsTableData);
}
//// Comandos de activacion de FKs
//foreach (TablaDesc t in db.Tablas)
//{
// string tableName = string.Format("{0}.{1}", t.Esquema, t.Nombre);
// listCmds.Add(string.Format("ALTER TABLE {0} WITH CHECK CHECK CONSTRAINT all;", tableName));
//}
//listCmds.Add("GO");
//listCmds.Add(string.Empty);
// Activar todas las FKs
listCmds.Add("-- Enable all constraints");
listCmds.Add("EXEC sp_MSforeachtable @command1='print ''?''', @command2='ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all'");
listCmds.Add("GO");
listCmds.Add(string.Empty);
// Escribir script
string fixedDatabaseName = db.Nombre.Replace(' ', '_');
var escritor = new StreamWriter(fixedDatabaseName + ".data.sql");
foreach (string cmd in listCmds)
{
escritor.WriteLine(cmd);
}
escritor.Close();
// Hace sensible la ventana
Parent.Enabled = true;
}
private List<string> ExportData(string tableName)
{
DataTable dtData = Exec(string.Format("SELECT * FROM {0}", tableName));
var listCmds = new List<string>();
List<string> listCmdsInsert = Utiles.DataTable_GenerateInserts(dtData, tableName);
listCmds.Add(string.Format("-- {0}", tableName));
listCmds.Add(string.Format("DELETE FROM {0};", tableName));
listCmds.Add(string.Format("DBCC CHECKIDENT ('{0}', RESEED, 0);", tableName));
listCmds.Add(string.Format("SET IDENTITY_INSERT {0} ON;", tableName));
listCmds.AddRange(listCmdsInsert);
listCmds.Add(string.Format("SET IDENTITY_INSERT {0} OFF;", tableName));
listCmds.Add("GO");
listCmds.Add(string.Empty);
return listCmds;
}
private DataTable Exec(string cmd)
{
var cnx = new SqlConnection(_config.ConnectionString);
var da = new SqlDataAdapter(cmd, cnx);
var dt = new DataTable();
cnx.Open();
da.Fill(dt);
cnx.Close();
return dt;
}
}
}
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Xml.Serialization;
using VAR.DatabaseExplorer.Code;
using System.Collections.Generic;
using VAR.DatabaseExplorer.Code.DataTransfer;
using VAR.DatabaseExplorer.Code.DataAccess;
using System.IO;
namespace VAR.DatabaseExplorer.UI
{
public partial class FrmBaseDatos : Form
{
private SqlConnection _cnx;
private Config _config;
private String _tableSchema;
private String _tableName;
private void Initialize()
{
// Establecer conexion
txtConString.Text = _config.ConnectionString;
_cnx = new SqlConnection(_config.ConnectionString);
List<Table> tables = TableDA.Table_GetRegs(_config.ConnectionString);
lsvTablas.Items.Clear();
foreach (Table table in tables)
{
ListViewItem item = lsvTablas.Items.Add(table.Schema);
item.SubItems.Add(table.Name);
item.SubItems.Add(table.Type);
}
TablesToListView();
lsvColumnas.Items.Clear();
}
/// <summary>
/// Metodo para copiar las tablas seleccionadas en el listview a la configuracion
/// </summary>
private void TablesFromListView()
{
_config.Tablas.Clear();
foreach (ListViewItem item in lsvTablas.Items)
{
if (item.Checked)
{
_config.Tablas.Add(new TablaInfo
{
Esquema = item.SubItems[0].Text,
Nombre = item.SubItems[1].Text
});
}
}
}
/// <summary>
/// Metodo para seleccionar las tablas en le listview desde la configuracion
/// </summary>
private void TablesToListView()
{
int j;
// Desmarcar todos en caso de no haber ninguna tabla
if (_config.Tablas.Count == 0)
{
foreach (ListViewItem item in lsvTablas.Items)
item.Checked = false;
return;
}
// Recorrer items marcando los que estan en la configuracion
int n = _config.Tablas.Count;
int i = j = 0;
foreach (ListViewItem item in lsvTablas.Items)
{
item.Checked = false;
do
{
if (String.Compare(_config.Tablas[i].Esquema, item.SubItems[0].Text, StringComparison.Ordinal) == 0 &&
String.Compare(_config.Tablas[i].Nombre, item.SubItems[1].Text, StringComparison.Ordinal) == 0)
{
item.Checked = true;
break;
}
i = (i + 1) % n;
} while (i != j);
j = i;
}
}
public DatabaseDesc CrearDatabaseDesc()
{
var db = new DatabaseDesc { Nombre = _cnx.Database };
foreach (TablaInfo t in _config.Tablas)
{
var td = new TablaDesc();
td.FillDesc(t.Esquema, t.Nombre, _cnx);
db.Tablas.Add(td);
}
return (db);
}
public FrmBaseDatos(String connectionString)
{
InitializeComponent();
_config = new Config {ConnectionString = connectionString};
}
public FrmBaseDatos(Config config)
{
InitializeComponent();
_config = config;
}
private void frmBaseDatos_Load(object sender, EventArgs e)
{
Initialize();
// Establecer titulos
lblTituloDB.Text = _cnx.Database;
lblTituloTabla.Text = "";
}
private void btnCopiarConString_Click(object sender, EventArgs e)
{
// Copiar la cadena de conexion al portapapeles
Clipboard.SetText(txtConString.Text);
}
private void lsvTablas_SelectedIndexChanged(object sender, EventArgs e)
{
if (lsvTablas.SelectedItems.Count != 1) { return; }
// Determinar tabla seleccionada
ListViewItem item = lsvTablas.SelectedItems[0];
// Recordar tabla seleccionada
_tableSchema = item.SubItems[0].Text;
_tableName = item.SubItems[1].Text;
// Establecer titulo de la lista de columnas
lblTituloTabla.Text = _tableSchema + @"." + _tableName;
// Obtener descripcion de tabla
var td = new TablaDesc();
td.FillDesc(_tableSchema, _tableName, _cnx);
// Mostrar "columnas" de las tablas
lsvColumnas.Items.Clear();
foreach (ColumnaDesc col in td.Columnas)
{
ListViewItem subitem = lsvColumnas.Items.Add(col.Nombre);
subitem.SubItems.Add(col.Tipo);
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.Nullable ? "Null" : "NotNull");
}
}
private void menuCargar_Click(object sender, EventArgs e)
{
var dialogo = new OpenFileDialog();
if (dialogo.ShowDialog() == DialogResult.OK)
{
_config = Config.Cargar(dialogo.FileName);
Initialize();
}
}
private void menuGuardar_Click(object sender, EventArgs e)
{
var dialogo = new SaveFileDialog();
if (dialogo.ShowDialog() == DialogResult.OK)
{
TablesFromListView();
_config.Guardar(dialogo.FileName);
}
}
private void menuConfiguracion_Click(object sender, EventArgs e)
{
//// Llamar a la ventana de configuracion
//FrmCodeGenConfig frm = new FrmCodeGenConfig(config);
//frm.ShowDialog();
}
private void btnVerDatos_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(_tableSchema) || string.IsNullOrEmpty(_tableName)) { return; }
// Obtener descripcion de tabla
var td = new TablaDesc();
td.FillDesc(_tableSchema, _tableName, _cnx);
// Crear y mostrar el formulario de los datos.
var form = new FrmDatos(td, _config.ConnectionString);
FrmPrincipal.AddForm(form);
}
private void btnProcs_Click(object sender, EventArgs e)
{
// Crear y mostrar el formulario de los procedimientos.
var form = new FrmProcedimientos(_config.ConnectionString);
FrmPrincipal.AddForm(form);
}
private void btnExec_Click(object sender, EventArgs e)
{
// Crear y mostrar el formulario de exec.
var form = new FrmExec(_config.ConnectionString);
FrmPrincipal.AddForm(form);
}
private void menuBaseDatos_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
private void btnGenerar_Click(object sender, EventArgs e)
{
TablesFromListView();
DatabaseDesc db = CrearDatabaseDesc();
var seriador = new XmlSerializer(typeof(DatabaseDesc));
seriador.Serialize(Console.Out, db);
//CodeGen.GenerarCodigo(config, db);
}
private void btnDocGen_Click(object sender, EventArgs e)
{
// Hacer insensible la ventana
Parent.Enabled = false;
// Obtener informacion.
TablesFromListView();
DatabaseDesc db = CrearDatabaseDesc();
// Escribir documentacion
DocGen.GenerarDocumentacion(db);
// Hace sensible la ventana
Parent.Enabled = true;
/*
tablas_delistview();
Thread hilo=new Thread(new ThreadStart(instancia.GenerarDoc));
hilo.Start();
*/
}
public void GenerarDoc()
{
// Hacer insensible la ventana
Enabled = false;
// Obtener informacion.
DatabaseDesc db = CrearDatabaseDesc();
// Escribir documentacion
DocGen.GenerarDocumentacion(db);
// Hace sensible la ventana
Enabled = true;
}
private void btnRefresh_Click(object sender, EventArgs e)
{
Initialize();
}
private void btnExportData_Click(object sender, EventArgs e)
{
// Hacer insensible la ventana
Parent.Enabled = false;
// Obtener informacion.
TablesFromListView();
DatabaseDesc db = CrearDatabaseDesc();
// Preparar cabecera del script
var listCmds = new List<string>();
listCmds.Add("SET NOCOUNT ON;");
listCmds.Add(string.Empty);
//// Comandos de desactivacion de FKs
//foreach (TablaDesc t in db.Tablas)
//{
// string tableName = string.Format("{0}.{1}", t.Esquema, t.Nombre);
// listCmds.Add(string.Format("ALTER TABLE {0} NOCHECK CONSTRAINT all;", tableName));
//}
//listCmds.Add("GO");
//listCmds.Add(string.Empty);
// Desactivar todas las FKs
listCmds.Add("-- Disable all constraints");
listCmds.Add("EXEC sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'");
listCmds.Add("GO");
listCmds.Add(string.Empty);
// Prepara informacion a exportar
foreach (TablaDesc t in db.Tablas)
{
string tableName = string.Format("{0}.{1}", t.Esquema, t.Nombre);
listCmds.Add(string.Format("PRINT '*** Importing data of {0}....';", tableName));
List<string> listCmdsTableData = ExportData(tableName);
listCmds.AddRange(listCmdsTableData);
}
//// Comandos de activacion de FKs
//foreach (TablaDesc t in db.Tablas)
//{
// string tableName = string.Format("{0}.{1}", t.Esquema, t.Nombre);
// listCmds.Add(string.Format("ALTER TABLE {0} WITH CHECK CHECK CONSTRAINT all;", tableName));
//}
//listCmds.Add("GO");
//listCmds.Add(string.Empty);
// Activar todas las FKs
listCmds.Add("-- Enable all constraints");
listCmds.Add("EXEC sp_MSforeachtable @command1='print ''?''', @command2='ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all'");
listCmds.Add("GO");
listCmds.Add(string.Empty);
// Escribir script
string fixedDatabaseName = db.Nombre.Replace(' ', '_');
var escritor = new StreamWriter(fixedDatabaseName + ".data.sql");
foreach (string cmd in listCmds)
{
escritor.WriteLine(cmd);
}
escritor.Close();
// Hace sensible la ventana
Parent.Enabled = true;
}
private List<string> ExportData(string tableName)
{
DataTable dtData = Exec(string.Format("SELECT * FROM {0}", tableName));
var listCmds = new List<string>();
List<string> listCmdsInsert = Utiles.DataTable_GenerateInserts(dtData, tableName);
listCmds.Add(string.Format("-- {0}", tableName));
listCmds.Add(string.Format("DELETE FROM {0};", tableName));
listCmds.Add(string.Format("DBCC CHECKIDENT ('{0}', RESEED, 0);", tableName));
listCmds.Add(string.Format("SET IDENTITY_INSERT {0} ON;", tableName));
listCmds.AddRange(listCmdsInsert);
listCmds.Add(string.Format("SET IDENTITY_INSERT {0} OFF;", tableName));
listCmds.Add("GO");
listCmds.Add(string.Empty);
return listCmds;
}
private DataTable Exec(string cmd)
{
var cnx = new SqlConnection(_config.ConnectionString);
var da = new SqlDataAdapter(cmd, cnx);
var dt = new DataTable();
cnx.Open();
da.Fill(dt);
cnx.Close();
return dt;
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,101 +1,101 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Windows.Forms;
using ServerExplorer.Code;
namespace ServerExplorer.UI
{
public partial class FrmExec : Form
{
#region Declarations
private readonly string _cnxString;
#endregion
#region Form life cycle
public FrmExec(string cnxString)
{
InitializeComponent();
_cnxString = cnxString;
}
#endregion
#region Events
private void btnExec_Click(object sender, EventArgs e)
{
try
{
DataTable dt = Exec();
dgvDatos.DataSource = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btnGenInserts_Click(object sender, EventArgs e)
{
try
{
DataTable dataTable = Exec();
List<string> listCmds = Utiles.DataTable_GenerateInserts(dataTable, txtDestTable.Text);
// Preparar la datatable destino
var destDataTable = new DataTable();
destDataTable.Columns.Add("Cmd", typeof(String));
foreach (string cmd in listCmds)
{
destDataTable.Rows.Add(new object[] { cmd });
}
dgvDatos.DataSource = destDataTable;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void dgvDatos_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.DesiredType == typeof(Image))
{
if (e.Value is DBNull || (e.Value is byte[] && ((byte[])e.Value).Length <= 0))
{
e.Value = new Bitmap(1, 1);
}
}
}
#endregion
#region Private methods
private DataTable Exec()
{
// Establecer conexion
var cnx = new SqlConnection(_cnxString);
// Obtener resultado en un datatable.
var da = new SqlDataAdapter(txtCommand.Text, cnx);
var dt = new DataTable();
cnx.Open();
da.Fill(dt);
cnx.Close();
return dt;
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Windows.Forms;
using VAR.DatabaseExplorer.Code;
namespace VAR.DatabaseExplorer.UI
{
public partial class FrmExec : Form
{
#region Declarations
private readonly string _cnxString;
#endregion
#region Form life cycle
public FrmExec(string cnxString)
{
InitializeComponent();
_cnxString = cnxString;
}
#endregion
#region Events
private void btnExec_Click(object sender, EventArgs e)
{
try
{
DataTable dt = Exec();
dgvDatos.DataSource = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btnGenInserts_Click(object sender, EventArgs e)
{
try
{
DataTable dataTable = Exec();
List<string> listCmds = Utiles.DataTable_GenerateInserts(dataTable, txtDestTable.Text);
// Preparar la datatable destino
var destDataTable = new DataTable();
destDataTable.Columns.Add("Cmd", typeof(String));
foreach (string cmd in listCmds)
{
destDataTable.Rows.Add(new object[] { cmd });
}
dgvDatos.DataSource = destDataTable;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void dgvDatos_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.DesiredType == typeof(Image))
{
if (e.Value is DBNull || (e.Value is byte[] && ((byte[])e.Value).Length <= 0))
{
e.Value = new Bitmap(1, 1);
}
}
}
#endregion
#region Private methods
private DataTable Exec()
{
// Establecer conexion
var cnx = new SqlConnection(_cnxString);
// Obtener resultado en un datatable.
var da = new SqlDataAdapter(txtCommand.Text, cnx);
var dt = new DataTable();
cnx.Open();
da.Fill(dt);
cnx.Close();
return dt;
}
#endregion
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,85 +1,85 @@
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Windows.Forms;
using ServerExplorer.Code.DataAccess;
using ServerExplorer.Code.DataTransfer;
namespace ServerExplorer.UI
{
public partial class FrmServidores : Form
{
public FrmServidores()
{
InitializeComponent();
}
private void btnListarServidores_Click(object sender, EventArgs e)
{
List<Server> servers = ServerDA.Server_GetRegs();
lsvServidores.Items.Clear();
lsvBBDD.Items.Clear();
foreach (Server server in servers)
{
ListViewItem item = lsvServidores.Items.Add(server.Name);
item.SubItems.Add(server.Instance);
item.SubItems.Add(server.Version);
}
}
private void lsvServidores_SelectedIndexChanged(object sender, EventArgs e)
{
if (lsvServidores.SelectedItems.Count > 0)
{
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());
lsvBBDD.Items.Clear();
foreach (Database database in databases)
{
ListViewItem item = lsvBBDD.Items.Add(database.Name);
item.SubItems.Add(database.CreateDate.ToShortDateString());
}
}
private void lsvBBDD_DoubleClick(object sender, EventArgs e)
{
if (lsvBBDD.SelectedItems.Count != 1) return;
// Llamar a la venta de la base de datos
var frm = new FrmBaseDatos(BuildConnectionString());
FrmPrincipal.AddForm(frm);
}
private string BuildConnectionString()
{
// Construir cadena de conexion
var constructor = new SqlConnectionStringBuilder();
constructor.DataSource = (!string.IsNullOrEmpty(txtServidor.Text)) ? txtServidor.Text : "localhost";
if (lsvBBDD.SelectedItems.Count > 0)
{
constructor.InitialCatalog = lsvBBDD.SelectedItems[0].SubItems[0].Text;
}
if (String.IsNullOrEmpty(txtUsuario.Text))
{
constructor.IntegratedSecurity = true;
}
else
{
constructor.UserID = txtUsuario.Text;
constructor.Password = TxtContrasenha.Text;
}
return constructor.ConnectionString;
}
}
}
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Windows.Forms;
using VAR.DatabaseExplorer.Code.DataAccess;
using VAR.DatabaseExplorer.Code.DataTransfer;
namespace VAR.DatabaseExplorer.UI
{
public partial class FrmServidores : Form
{
public FrmServidores()
{
InitializeComponent();
}
private void btnListarServidores_Click(object sender, EventArgs e)
{
List<Server> servers = ServerDA.Server_GetRegs();
lsvServidores.Items.Clear();
lsvBBDD.Items.Clear();
foreach (Server server in servers)
{
ListViewItem item = lsvServidores.Items.Add(server.Name);
item.SubItems.Add(server.Instance);
item.SubItems.Add(server.Version);
}
}
private void lsvServidores_SelectedIndexChanged(object sender, EventArgs e)
{
if (lsvServidores.SelectedItems.Count > 0)
{
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());
lsvBBDD.Items.Clear();
foreach (Database database in databases)
{
ListViewItem item = lsvBBDD.Items.Add(database.Name);
item.SubItems.Add(database.CreateDate.ToShortDateString());
}
}
private void lsvBBDD_DoubleClick(object sender, EventArgs e)
{
if (lsvBBDD.SelectedItems.Count != 1) return;
// Llamar a la venta de la base de datos
var frm = new FrmBaseDatos(BuildConnectionString());
FrmPrincipal.AddForm(frm);
}
private string BuildConnectionString()
{
// Construir cadena de conexion
var constructor = new SqlConnectionStringBuilder();
constructor.DataSource = (!string.IsNullOrEmpty(txtServidor.Text)) ? txtServidor.Text : "localhost";
if (lsvBBDD.SelectedItems.Count > 0)
{
constructor.InitialCatalog = lsvBBDD.SelectedItems[0].SubItems[0].Text;
}
if (String.IsNullOrEmpty(txtUsuario.Text))
{
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"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,180 +1,193 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{79531B74-3062-4A71-9953-5702BEBDEC0E}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ServerExplorer</RootNamespace>
<AssemblyName>ServerExplorer</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>3.5</OldToolsVersion>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>
</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Code\Config.cs" />
<Compile Include="Code\DataAccess\DatabaseDA.cs" />
<Compile Include="Code\DataAccess\ServerDA.cs" />
<Compile Include="Code\DataAccess\TableDA.cs" />
<Compile Include="Code\DataTransfer\Column.cs" />
<Compile Include="Code\DataTransfer\Database.cs" />
<Compile Include="Code\DataTransfer\Server.cs" />
<Compile Include="Code\DataTransfer\Table.cs" />
<Compile Include="Code\DataTransfer\User.cs" />
<Compile Include="Controls\CustomListView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Code\DatabaseDesc.cs" />
<Compile Include="Code\DocGen.cs" />
<Compile Include="Controls\CustomTextBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Controls\WindowButton.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="UI\FrmBaseDatos.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmBaseDatos.Designer.cs">
<DependentUpon>FrmBaseDatos.cs</DependentUpon>
</Compile>
<Compile Include="UI\FrmDatos.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmDatos.Designer.cs">
<DependentUpon>FrmDatos.cs</DependentUpon>
</Compile>
<Compile Include="UI\FrmExec.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmExec.Designer.cs">
<DependentUpon>FrmExec.cs</DependentUpon>
</Compile>
<Compile Include="UI\FrmPrincipal.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmPrincipal.Designer.cs">
<DependentUpon>FrmPrincipal.cs</DependentUpon>
</Compile>
<Compile Include="UI\FrmProcedimientos.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmProcedimientos.Designer.cs">
<DependentUpon>FrmProcedimientos.cs</DependentUpon>
</Compile>
<Compile Include="UI\FrmServidores.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmServidores.Designer.cs">
<DependentUpon>FrmServidores.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Code\TablaDesc.cs" />
<Compile Include="Code\Utiles.cs" />
<EmbeddedResource Include="UI\FrmBaseDatos.resx">
<DependentUpon>FrmBaseDatos.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\FrmDatos.resx">
<DependentUpon>FrmDatos.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\FrmExec.resx">
<DependentUpon>FrmExec.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\FrmPrincipal.resx">
<DependentUpon>FrmPrincipal.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\FrmProcedimientos.resx">
<DependentUpon>FrmProcedimientos.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\FrmServidores.resx">
<DependentUpon>FrmServidores.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</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>
-->
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{79531B74-3062-4A71-9953-5702BEBDEC0E}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>VAR.DatabaseExplorer</RootNamespace>
<AssemblyName>VAR.DatabaseExplorer</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>3.5</OldToolsVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<TargetFrameworkProfile />
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<CodeAnalysisIgnoreGeneratedCode>true</CodeAnalysisIgnoreGeneratedCode>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>
</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<StartupObject>VAR.DatabaseExplorer.Program</StartupObject>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Code\Config.cs" />
<Compile Include="Code\DataAccess\DatabaseDA.cs" />
<Compile Include="Code\DataAccess\ServerDA.cs" />
<Compile Include="Code\DataAccess\TableDA.cs" />
<Compile Include="Code\DataTransfer\Column.cs" />
<Compile Include="Code\DataTransfer\Database.cs" />
<Compile Include="Code\DataTransfer\Server.cs" />
<Compile Include="Code\DataTransfer\Table.cs" />
<Compile Include="Code\DataTransfer\User.cs" />
<Compile Include="Controls\CustomListView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Code\DatabaseDesc.cs" />
<Compile Include="Code\DocGen.cs" />
<Compile Include="Controls\CustomTextBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Controls\WindowButton.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="UI\FrmBaseDatos.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmBaseDatos.Designer.cs">
<DependentUpon>FrmBaseDatos.cs</DependentUpon>
</Compile>
<Compile Include="UI\FrmDatos.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmDatos.Designer.cs">
<DependentUpon>FrmDatos.cs</DependentUpon>
</Compile>
<Compile Include="UI\FrmExec.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmExec.Designer.cs">
<DependentUpon>FrmExec.cs</DependentUpon>
</Compile>
<Compile Include="UI\FrmPrincipal.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmPrincipal.Designer.cs">
<DependentUpon>FrmPrincipal.cs</DependentUpon>
</Compile>
<Compile Include="UI\FrmProcedimientos.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmProcedimientos.Designer.cs">
<DependentUpon>FrmProcedimientos.cs</DependentUpon>
</Compile>
<Compile Include="UI\FrmServidores.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\FrmServidores.Designer.cs">
<DependentUpon>FrmServidores.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Code\TablaDesc.cs" />
<Compile Include="Code\Utiles.cs" />
<EmbeddedResource Include="UI\FrmBaseDatos.resx">
<DependentUpon>FrmBaseDatos.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\FrmDatos.resx">
<DependentUpon>FrmDatos.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\FrmExec.resx">
<DependentUpon>FrmExec.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\FrmPrincipal.resx">
<DependentUpon>FrmPrincipal.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\FrmProcedimientos.resx">
<DependentUpon>FrmProcedimientos.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UI\FrmServidores.resx">
<DependentUpon>FrmServidores.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Folder Include="Code\BussinesLogic\" />
</ItemGroup>
<ItemGroup>
<None Include="app.manifest" />
</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>

View File

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel element will disable file and registry virtualization.
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on and is
is designed to work with. Uncomment the appropriate elements and Windows will
automatically selected the most compatible environment. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>