Miscellaneous changes. Keep original end of line characters.
This commit is contained in:
@@ -1,105 +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)
|
||||
{
|
||||
var da = new SqlDataAdapter(@"
|
||||
SELECT
|
||||
ISNULL(smsp.definition, ssmsp.definition) AS [Definition]
|
||||
FROM sys.all_objects AS sp
|
||||
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='PC')
|
||||
and
|
||||
(sp.name=@name and SCHEMA_NAME(sp.schema_id)=@schema)
|
||||
", _cnx);
|
||||
|
||||
da.SelectCommand.Parameters.AddWithValue("@Name", name);
|
||||
da.SelectCommand.Parameters.AddWithValue("@Schema", schema);
|
||||
var 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");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user