用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>

2

3

4

5

6

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
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

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>

2

3

4

5

6

7

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
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28
