(2012-04-01)

This commit is contained in:
2012-04-01 00:00:00 +02:00
parent ddbac16407
commit a9b690db2a
13 changed files with 60 additions and 80 deletions

Binary file not shown.

View File

@@ -90,10 +90,9 @@ namespace ServerExplorer
{ {
col.Tamanho = (int)dr["Tamanho"]; col.Tamanho = (int)dr["Tamanho"];
} }
col.Primaria = false;
if (dr["TipoClave"] != DBNull.Value) if (dr["TipoClave"] != DBNull.Value)
{ {
if (((String)dr["TipoClave"]).CompareTo("PRIMARY_KEY") == 0) if (((String)dr["TipoClave"]).Contains("PRIMARY"))
{ {
col.Primaria = true; col.Primaria = true;
} }

View File

@@ -39,12 +39,13 @@
this.colNombreColumna = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colNombreColumna = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colTipoDatos = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colTipoDatos = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colTamanho = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.colTamanho = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.colClave = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.menuBaseDatos = new System.Windows.Forms.MenuStrip(); this.menuBaseDatos = new System.Windows.Forms.MenuStrip();
this.archivoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.archivoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuCargar = new System.Windows.Forms.ToolStripMenuItem(); this.menuCargar = new System.Windows.Forms.ToolStripMenuItem();
this.menuGuardar = new System.Windows.Forms.ToolStripMenuItem(); this.menuGuardar = new System.Windows.Forms.ToolStripMenuItem();
this.menuConfiguracion = new System.Windows.Forms.ToolStripMenuItem(); this.menuConfiguracion = new System.Windows.Forms.ToolStripMenuItem();
this.colClave = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.btnGenerar = new System.Windows.Forms.Button();
this.menuBaseDatos.SuspendLayout(); this.menuBaseDatos.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
@@ -123,7 +124,7 @@
this.lsvColumnas.FullRowSelect = true; this.lsvColumnas.FullRowSelect = true;
this.lsvColumnas.Location = new System.Drawing.Point(344, 59); this.lsvColumnas.Location = new System.Drawing.Point(344, 59);
this.lsvColumnas.Name = "lsvColumnas"; this.lsvColumnas.Name = "lsvColumnas";
this.lsvColumnas.Size = new System.Drawing.Size(344, 405); this.lsvColumnas.Size = new System.Drawing.Size(344, 376);
this.lsvColumnas.TabIndex = 6; this.lsvColumnas.TabIndex = 6;
this.lsvColumnas.UseCompatibleStateImageBehavior = false; this.lsvColumnas.UseCompatibleStateImageBehavior = false;
this.lsvColumnas.View = System.Windows.Forms.View.Details; this.lsvColumnas.View = System.Windows.Forms.View.Details;
@@ -142,6 +143,11 @@
// //
this.colTamanho.Text = "Tamaño"; this.colTamanho.Text = "Tamaño";
// //
// colClave
//
this.colClave.Text = "Clave";
this.colClave.Width = 71;
//
// menuBaseDatos // menuBaseDatos
// //
this.menuBaseDatos.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuBaseDatos.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -183,16 +189,23 @@
this.menuConfiguracion.Text = "Configuracion"; this.menuConfiguracion.Text = "Configuracion";
this.menuConfiguracion.Click += new System.EventHandler(this.menuConfiguracion_Click); this.menuConfiguracion.Click += new System.EventHandler(this.menuConfiguracion_Click);
// //
// colClave // btnGenerar
// //
this.colClave.Text = "Clave"; this.btnGenerar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.colClave.Width = 71; this.btnGenerar.Location = new System.Drawing.Point(613, 441);
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);
// //
// frmBaseDatos // frmBaseDatos
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(700, 476); this.ClientSize = new System.Drawing.Size(700, 476);
this.Controls.Add(this.btnGenerar);
this.Controls.Add(this.lsvColumnas); this.Controls.Add(this.lsvColumnas);
this.Controls.Add(this.lsvTablas); this.Controls.Add(this.lsvTablas);
this.Controls.Add(this.btnCopiarConString); this.Controls.Add(this.btnCopiarConString);
@@ -229,5 +242,6 @@
private System.Windows.Forms.ToolStripMenuItem menuGuardar; private System.Windows.Forms.ToolStripMenuItem menuGuardar;
private System.Windows.Forms.ToolStripMenuItem menuConfiguracion; private System.Windows.Forms.ToolStripMenuItem menuConfiguracion;
private System.Windows.Forms.ColumnHeader colClave; private System.Windows.Forms.ColumnHeader colClave;
private System.Windows.Forms.Button btnGenerar;
} }
} }

View File

@@ -130,86 +130,46 @@ namespace ServerExplorer
{ {
if (lsvTablas.SelectedItems.Count == 1) if (lsvTablas.SelectedItems.Count == 1)
{ {
DataTable dt;
// Determinar tabla seleccionada // Determinar tabla seleccionada
ListViewItem item = lsvTablas.SelectedItems[0]; ListViewItem item = lsvTablas.SelectedItems[0];
/* /*
// Obtener las columnas de la tabla
String[] restr_columna = { null, null, item.SubItems[0].Text, null };
// NOTA: Catalog, Owner, Table, TableType
cnx.Open();
dt = cnx.GetSchema("Columns", restr_columna);
dt.DefaultView.Sort="ORDINAL_POSITION";
cnx.Close();
// Mostrar "columnas" de las tablas
lsvColumnas.Items.Clear();
foreach (DataRowView dr in dt.DefaultView)
{
ListViewItem subitem = lsvColumnas.Items.Add((String)dr["COLUMN_NAME"]);
subitem.SubItems.Add((String)dr["DATA_TYPE"]);
if (dr["CHARACTER_MAXIMUM_LENGTH"] != DBNull.Value)
{
subitem.SubItems.Add(String.Format("{0}",dr["CHARACTER_MAXIMUM_LENGTH"]));
}
}
*/
// Obtener informacion de las columnas de la tabla
SqlDataAdapter 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 "+
" 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);
da.SelectCommand.Parameters.AddWithValue("@nombreTabla", item.SubItems[0].Text);
da.SelectCommand.Parameters.AddWithValue("@nombreEsquema",item.SubItems[1].Text);
dt = new DataTable();
cnx.Open();
da.Fill(dt);
cnx.Close();
// Mostrar "columnas" de las tablas
lsvColumnas.Items.Clear();
foreach (DataRow dr in dt.Rows)
{
ListViewItem subitem = lsvColumnas.Items.Add((String)dr["Columna"]);
subitem.SubItems.Add((String)dr["Tipo"]);
if (dr["Tamanho"] != DBNull.Value)
{
subitem.SubItems.Add(String.Format("{0}", dr["Tamanho"]));
}
else
{
subitem.SubItems.Add("");
}
if (dr["TipoClave"] != DBNull.Value)
{
subitem.SubItems.Add((String)dr["TipoClave"]);
}
else
{
subitem.SubItems.Add("");
}
}
TablaDesc td = new TablaDesc(); TablaDesc td = new TablaDesc();
td.FillDesc(item.SubItems[1].Text,item.SubItems[0].Text,cnx); td.FillDesc(item.SubItems[1].Text,item.SubItems[0].Text,cnx);
Type[] tipos = { typeof(ColumnaDesc) }; Type[] tipos = { typeof(ColumnaDesc) };
XmlSerializer seriador = new XmlSerializer(typeof(TablaDesc),tipos); XmlSerializer seriador = new XmlSerializer(typeof(TablaDesc),tipos);
seriador.Serialize(System.Console.Out, td); seriador.Serialize(System.Console.Out, td);
*/
// Obtener descripcion de tabla
TablaDesc td = new TablaDesc();
td.FillDesc(item.SubItems[1].Text, item.SubItems[0].Text, cnx);
// Mostrar "columnas" de las tablas
lsvColumnas.Items.Clear();
foreach (ColumnaDesc col in td.Columnas)
{
ListViewItem subitem = lsvColumnas.Items.Add(col.Nombre);
subitem.SubItems.Add(col.Tipo);
if (col.Tamanho>=0)
{
subitem.SubItems.Add(String.Format("{0}", col.Tamanho));
}
else
{
subitem.SubItems.Add("");
}
if (col.Primaria)
{
subitem.SubItems.Add("PK");
}
else
{
subitem.SubItems.Add("");
}
}
//XmlSerializer seriador = new XmlSerializer(typeof(TablaDesc));
//seriador.Serialize(System.Console.Out, td);
} }
} }
@@ -240,5 +200,9 @@ namespace ServerExplorer
frm.ShowDialog(); frm.ShowDialog();
} }
private void btnGenerar_Click(object sender, EventArgs e)
{
}
} }
} }

View File

@@ -120,4 +120,7 @@
<metadata name="menuBaseDatos.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="menuBaseDatos.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>41</value>
</metadata>
</root> </root>

View File

@@ -20,8 +20,8 @@ namespace ServerExplorer
{ {
// Crear ventana de la base de datos de pruebas // Crear ventana de la base de datos de pruebas
//frmBaseDatos frm = new frmBaseDatos("Data Source=SSSRV3;Initial Catalog=PRUEBAS;User ID=sa;Password=SLsssrv3"); //frmBaseDatos frm = new frmBaseDatos("Data Source=SSSRV3;Initial Catalog=PRUEBAS;User ID=sa;Password=SLsssrv3");
//frmBaseDatos frm = new frmBaseDatos("Data Source=DANTE;Initial Catalog=BD_AlfonsoRodriguez;Integrated Security=True"); frmBaseDatos frm = new frmBaseDatos("Data Source=DANTE;Initial Catalog=BD_AlfonsoRodriguez;Integrated Security=True");
frmBaseDatos frm = new frmBaseDatos("Data Source=OSKURITO;Initial Catalog=BD_AlfonsoRodriguez;Integrated Security=True"); //frmBaseDatos frm = new frmBaseDatos("Data Source=OSKURITO;Initial Catalog=BD_AlfonsoRodriguez;Integrated Security=True");
frm.MdiParent = this; frm.MdiParent = this;
frm.WindowState = FormWindowState.Maximized; frm.WindowState = FormWindowState.Maximized;
frm.Show(); frm.Show();