FrmBaseDatos, FrmDatos y FrmProcedimientos: Botón refrescar

This commit is contained in:
2013-11-26 23:35:47 +01:00
parent 0ab98aef0e
commit 101838d653
6 changed files with 180 additions and 107 deletions

View File

@@ -14,26 +14,56 @@ namespace ServerExplorer.UI
{
public partial class FrmProcedimientos : Form
{
#region Declarations
private string cnxString;
private SqlConnection cnx;
#endregion
#region Form life cycle
public FrmProcedimientos(string cnxString)
{
InitializeComponent();
this.cnxString = cnxString;
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 schema, name;
name = lsvProcs.SelectedItems[0].SubItems[0].Text;
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()
{
DataTable dt;
SqlDataAdapter da;
// Establecer conexion
cnx = new SqlConnection(cnxString);
// Obtener un datatable con todos los procedimientos de la base de datos.
da = new SqlDataAdapter(
"SELECT ROUTINE_NAME Name, ROUTINE_SCHEMA [Schema], CREATED CreateDate, ROUTINE_TYPE [Type] FROM INFORMATION_SCHEMA.ROUTINES",
@@ -54,30 +84,26 @@ namespace ServerExplorer.UI
}
}
private void lsvProcs_SelectedIndexChanged(object sender, EventArgs e)
private void LoadProcedure(string schema, string name)
{
if (lsvProcs.SelectedItems.Count > 0)
{
DataTable dt;
SqlDataAdapter da;
string Schema, Name;
Name = lsvProcs.SelectedItems[0].SubItems[0].Text;
Schema = lsvProcs.SelectedItems[0].SubItems[1].Text;
da = new SqlDataAdapter("SELECT ROUTINE_DEFINITION from INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME=@Name AND ROUTINE_SCHEMA=@Schema", cnx);
da.SelectCommand.Parameters.AddWithValue("@Name", Name);
da.SelectCommand.Parameters.AddWithValue("@Schema", Schema);
dt = new DataTable();
cnx.Open();
da.Fill(dt);
cnx.Close();
DataTable dt;
SqlDataAdapter da;
da = new SqlDataAdapter("SELECT ROUTINE_DEFINITION from INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME=@Name AND ROUTINE_SCHEMA=@Schema", cnx);
da.SelectCommand.Parameters.AddWithValue("@Name", name);
da.SelectCommand.Parameters.AddWithValue("@Schema", schema);
dt = new DataTable();
cnx.Open();
da.Fill(dt);
cnx.Close();
// Mostrar el contenido del procedimiento
txtProc.Text = String.Empty;
foreach (DataRow dr in dt.Rows)
{
txtProc.Text += ((string)dr[0]).Replace("\r", "").Replace("\n", "\r\n");
}
// 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
}
}