用TreeView管理所有存储过程
列出所有存储教程名,用树形结构显示(procedureList.aspx)
HTML:
C#:
根据存储过程名,查看存储过程内容 (procedureView.aspx)
HTML:
C#:
HTML:
1
<div>
2
<asp:TreeView ID="treeviewProcedure" runat="server" SelectedNodeStyle-BackColor="white" SelectedNodeStyle-BorderWidth="1px" SelectedNodeStyle-BorderColor="gray" SelectedNodeStyle-BorderStyle="solid">
3
<Nodes></Nodes>
4
</asp:TreeView>
5
6
</div>
<div>2
<asp:TreeView ID="treeviewProcedure" runat="server" SelectedNodeStyle-BackColor="white" SelectedNodeStyle-BorderWidth="1px" SelectedNodeStyle-BorderColor="gray" SelectedNodeStyle-BorderStyle="solid">3
<Nodes></Nodes>4
</asp:TreeView>5
6
</div>C#:
1
protected void Page_Load(object sender, EventArgs e)
2
{
3
if (!Page.IsPostBack)
4
{
5
6
string cmdText = @"select * from sys.sysObjects where xtype='p' order by name";
7
8
fillTreeViewProcedure(cmdText);
9
10
for (int i = 0; i < treeviewProcedure.Nodes[0].ChildNodes.Count; i++)
11
{
12
treeviewProcedure.Nodes[0].ChildNodes[i].CollapseAll();
13
}
14
}
15
16
17
18
}
19
20
21
//公共方法,填充树
22
protected void fillTreeViewProcedure(string cmdText)
23
{
24
TreeNode treeNodeRoot=new TreeNode("所有存储过程");
25
treeviewProcedure.Nodes.Add(treeNodeRoot);
26
27
28
List<string> L = new List<string>();
29
30
DataTable tbProcedure = SqlHelper.ExecuteDataset(Configurations.RemoteConnectionString, CommandType.Text, cmdText).Tables[0];
31
for (int i = 0; i < tbProcedure.Rows.Count; i++)
32
{
33
string name = tbProcedure.Rows[i]["name"].ToString();
34
35
string LeftName = name;
36
37
if (name.IndexOf('_') > 0)
38
{
39
LeftName = name.Substring(0, name.IndexOf('_'));
40
}
41
42
if ( treeviewProcedure.FindNode("所有存储过程/" + LeftName)==null)
43
{
44
TreeNode treeNode1 = new TreeNode(LeftName, LeftName);
45
treeNodeRoot.ChildNodes.Add(treeNode1);
46
47
treeNode1.SelectAction = TreeNodeSelectAction.Expand;
48
49
TreeNode treeNode2 = new TreeNode(name, name);
50
treeNode1.ChildNodes.Add(treeNode2);
51
treeNode2.NavigateUrl = "procedureView.aspx?id=" + name;
52
treeNode2.Target = "frmProcedureView";
53
}
54
else
55
{
56
TreeNode treeNode2 = new TreeNode(name, name);
57
treeviewProcedure.FindNode("所有存储过程/" +LeftName ).ChildNodes.Add(treeNode2);
58
treeNode2.NavigateUrl = "procedureView.aspx?id=" + name;
59
treeNode2.Target = "frmProcedureView";
60
}
61
62
}
63
64
}
protected void Page_Load(object sender, EventArgs e)2
{3
if (!Page.IsPostBack)4
{5

6
string cmdText = @"select * from sys.sysObjects where xtype='p' order by name";7

8
fillTreeViewProcedure(cmdText);9

10
for (int i = 0; i < treeviewProcedure.Nodes[0].ChildNodes.Count; i++)11
{12
treeviewProcedure.Nodes[0].ChildNodes[i].CollapseAll();13
}14
}15
16
17
18
}19

20

21
//公共方法,填充树22
protected void fillTreeViewProcedure(string cmdText)23
{24
TreeNode treeNodeRoot=new TreeNode("所有存储过程");25
treeviewProcedure.Nodes.Add(treeNodeRoot);26

27
28
List<string> L = new List<string>();29

30
DataTable tbProcedure = SqlHelper.ExecuteDataset(Configurations.RemoteConnectionString, CommandType.Text, cmdText).Tables[0];31
for (int i = 0; i < tbProcedure.Rows.Count; i++)32
{33
string name = tbProcedure.Rows[i]["name"].ToString();34

35
string LeftName = name;36

37
if (name.IndexOf('_') > 0)38
{39
LeftName = name.Substring(0, name.IndexOf('_'));40
}41

42
if ( treeviewProcedure.FindNode("所有存储过程/" + LeftName)==null)43
{ 44
TreeNode treeNode1 = new TreeNode(LeftName, LeftName);45
treeNodeRoot.ChildNodes.Add(treeNode1);46

47
treeNode1.SelectAction = TreeNodeSelectAction.Expand;48

49
TreeNode treeNode2 = new TreeNode(name, name);50
treeNode1.ChildNodes.Add(treeNode2);51
treeNode2.NavigateUrl = "procedureView.aspx?id=" + name;52
treeNode2.Target = "frmProcedureView";53
}54
else55
{56
TreeNode treeNode2 = new TreeNode(name, name);57
treeviewProcedure.FindNode("所有存储过程/" +LeftName ).ChildNodes.Add(treeNode2);58
treeNode2.NavigateUrl = "procedureView.aspx?id=" + name; 59
treeNode2.Target = "frmProcedureView";60
} 61
62
}63
64
}根据存储过程名,查看存储过程内容 (procedureView.aspx)
HTML:
1
<div style="padding:10px;">
2
<asp:Repeater ID="repeaterProcedure" runat="server">
3
<ItemTemplate>
4
<div><%#Eval("text") %></div>
5
</ItemTemplate>
6
</asp:Repeater>
7
</div>
<div style="padding:10px;">2
<asp:Repeater ID="repeaterProcedure" runat="server">3
<ItemTemplate>4
<div><%#Eval("text") %></div>5
</ItemTemplate>6
</asp:Repeater>7
</div>C#:
1
protected string name = string.Empty;//
2
3
protected void Page_Load(object sender, EventArgs e)
4
{
5
try
6
{
7
name = Request.QueryString["id"].ToString();
8
}
9
catch
10
{
11
12
}
13
14
15
// string cmdTextGetProcedureInfoByName = @"exec sp_helpText "+name;
16
string cmdTextGetProcedureInfoByName = @" declare @tb table([text] varchar(500));
17
insert @tb exec sp_HelpText {0};
18
select * from @tb where ascii( [text] )<>13 and len([text])<>2";
19
20
cmdTextGetProcedureInfoByName = string.Format(cmdTextGetProcedureInfoByName, name);
21
DataTable tbGetProcedureInfoByName = SqlHelper.ExecuteDataset(Configurations.RemoteConnectionString, CommandType.Text, cmdTextGetProcedureInfoByName).Tables[0];
22
repeaterProcedure.DataSource = tbGetProcedureInfoByName;
23
repeaterProcedure.DataBind();
24
25
26
27
}
28
}
protected string name = string.Empty;//2

3
protected void Page_Load(object sender, EventArgs e)4
{5
try6
{7
name = Request.QueryString["id"].ToString();8
}9
catch10
{11
12
}13
14

15
// string cmdTextGetProcedureInfoByName = @"exec sp_helpText "+name;16
string cmdTextGetProcedureInfoByName = @" declare @tb table([text] varchar(500));17
insert @tb exec sp_HelpText {0};18
select * from @tb where ascii( [text] )<>13 and len([text])<>2";19

20
cmdTextGetProcedureInfoByName = string.Format(cmdTextGetProcedureInfoByName, name);21
DataTable tbGetProcedureInfoByName = SqlHelper.ExecuteDataset(Configurations.RemoteConnectionString, CommandType.Text, cmdTextGetProcedureInfoByName).Tables[0];22
repeaterProcedure.DataSource = tbGetProcedureInfoByName;23
repeaterProcedure.DataBind();24

25

26
27
}28
}

浙公网安备 33010602011771号