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 < 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 }
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 }
根据存储过程名,查看存储过程内容 (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 < 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 }
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 }