UltraWebTree的使用心得

standard_add.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sta_edit.aspx.cs" Inherits="hbproject.standard.sta_edit" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<link href="../UI/dialogStyle.css" type="text/css" rel="stylesheet">
</head>
<body>
<form id="form1" runat="server">
<div>
<table width="400" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<asp:Label ID="ORDER_NUMBER_lable" runat="server" Text="序号:" Width="78" ></asp:Label>
</td>
<td>
<asp:TextBox ID="ORDER_NUMBER" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
<tr>
<td>
<asp:Label ID="TITLE_lable" runat="server" Text="标题:" Width="78" ></asp:Label>
&nbsp;</td>
<td>
<asp:TextBox ID="TITLE" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
</tr>
</tr>
<tr>
<td width="78" >
<asp:Label ID="CONTENT_lable" runat="server" Text="内容:" Width="78" ></asp:Label>
</td>
<td valign="top" width="300" colspan="1" height="62">
<asp:TextBox ID="CONTENT" Height="88px" runat="server" CssClass="MDInput"
Width
="100%" TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
<tr>
<td width="100">
<asp:Label ID="SCORE_lable" runat="server" Text="分数:" Width="78" ></asp:Label>
</td>
<td>
<asp:TextBox ID="SCORE" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
</tr>
<tr>
<td width="78">
<asp:Label ID="REMARK_lable" runat="server" Text="备注:" Width="78" ></asp:Label>
</td>
<td>
<asp:TextBox ID="REMARK" Height="88px" runat="server" CssClass="MDInput"
Width
="300" TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
<tr>
<td width="78">
<asp:Label ID="STANDARD_TYPE_lable" runat="server" Text="标准类别:" Width="78" ></asp:Label>
</td>
<td>
<asp:TextBox ID="STANDARD_TYPE" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
</tr>

<tr>
<td width="78">
<asp:Label ID="MIN_SCORE_lable" runat="server" Text="最小分数:" Width="78" ></asp:Label>
</td>
<td>
<asp:TextBox ID="MIN_SCORE" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
</tr>
<tr>
<td width="78">
<asp:Label ID="MAX_SCORE_lable" runat="server" Text="最大分数:" Width="78" ></asp:Label>

</td>
<td>
<asp:TextBox ID="MAX_SCORE" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" width="100%" colspan="2">
<asp:Button ID="btOk" runat="server" CssClass="MDButton" Text=" 确 定 " OnClick="btOk_Click">
</asp:Button>
<asp:Button ID="btClose" runat="server" CssClass="MDButton" Text=" 取 消 " OnClientClick="window.close();">
</asp:Button>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>

上班的第一天,接到任务要使用UltraWebTree

截图如下



以下是我写的代码,用到的控件需安装NetAdvantage 2009 for .net

Standard.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Standard.aspx.cs" Inherits="hbproject.standard.Standard" %>

<%@ Register assembly="Infragistics35.WebUI.UltraWebNavigator.v9.1, Version=9.1.20091.1015, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" namespace="Infragistics.WebUI.UltraWebNavigator" tagprefix="ignav" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>科研项目申请评分</title>
<link href="../UI/style.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../script/BaseScript.js"></script>
<script type="text/javascript">
function Add() {
var tree = igtree_getTreeById('treeList');
var title = escape('添加表项');

//计算当前节点的字节点个数,为了使序号自动生成
var count = 0;
arrayNode
= new Array();
var ss = tree.getSelectedNode();
arrayNode
= ss.getChildNodes();

count
= arrayNode.length + 1;

var url = "../Launch.aspx?title=" + title + "&url=standard/standard_add.aspx?PARENT_STANDARD_ID=" + tree.getSelectedNode().getTag() + "&targetFrame=" + tree.getSelectedNode().getTargetFrame() + "&count=" + count;

//设置添加窗体的大小

if (tree.getSelectedNode().getTargetFrame() == "child") {
ref
= showModalDialog(url, null, 'status:no;dialogWidth:450px;dialogHeight:400px;dialogHide:true;help:no;scroll:no');
}
else {
ref
= showModalDialog(url, null, 'status:no;dialogWidth:450px;dialogHeight:300px;dialogHide:true;help:no;scroll:no');
}

if (ref == 1) {
return true;
}
else {
return false;
}
}

function Edit() {
var tree = igtree_getTreeById('treeList');
if (tree.getSelectedNode() != null) {
var title = escape('编辑表项');
var url = "";
var res = Object;
if (tree.getSelectedNode().getParent().getTag() == "-1")//大类
{
url
= "../Launch.aspx?title=" + title + "&url=standard/sta_edit.aspx?STANDARD_ID=" + tree.getSelectedNode().getTag() + "&targetFrame=" + tree.getSelectedNode().getTargetFrame();
res
= showModalDialog(url, null, 'status:no;dialogWidth:450px;dialogHeight:400px;dialogHide:true;help:no;scroll:no');
}
//小项
else {
url
= "../Launch.aspx?title=" + title + "&url=standard/sta_edit.aspx?STANDARD_ID=" + tree.getSelectedNode().getTag() + "&targetFrame=" + tree.getSelectedNode().getTargetFrame();
res
= showModalDialog(url, null, 'status:no;dialogWidth:450px;dialogHeight:400px;dialogHide:true;help:no;scroll:no');
}
if (res == 1) {
alert(
"编辑表单类别成功!");
return true;
}
}
else {
alert(
"请选择相应的表单类别!");
}
return false;
}

function Del() {
var tree = igtree_getTreeById('treeList');
if (tree.getSelectedNode() == null) {
alert(
"请选择相应的表单类别!");
return false;
}

if (confirm("是否确定删除该项!")) {
return true;
}
return false;
}

function Check() {
// var tree = igtree_getTreeById('treeList');
//
if (tree.getSelectedNode() == null || tree.getSelectedNode().getParent() == null) {
//
document.getElementById("btnAdd").style.display = "";
//
document.getElementById("btnEdit").style.display = "none";
//
document.getElementById("btnDel").style.display = "none";
//
}
//
else if (tree.getSelectedNode().getParent().getTag() != "-1") {
//
document.getElementById("btnAdd").style.display = "none";
//
document.getElementById("btnEdit").style.display = "";
//
document.getElementById("btnDel").style.display = "";
//
}
//
else {
//
document.getElementById("btnAdd").style.display = "";
//
document.getElementById("btnEdit").style.display = "";
//
document.getElementById("btnDel").style.display = "";
//
}
}
</script>
</head>
<body onload="Check();">
<form id="form1" runat="server">
<div>
<table width="100%" cellpadding="0" cellspacing="0" class="SearchBar">
<tr class="SearchBar" valign="middle">
<td>
<asp:imagebutton onmousedown="this.src='../images/BT_AddDown.gif'" id="btnAdd" onmouseover="this.src='../images/BT_AddOver.gif'"
onfocus
="if(this.blur)this.blur()" onmouseout="this.src='../images/BT_Add.gif'" AlternateText="添加"
Runat
="server" BorderWidth="0" ImageUrl="../images/BT_Add.gif" onclick="btnAdd_Click1"></asp:imagebutton>
<asp:imagebutton onmousedown="this.src='../images/BT_EditDown.gif'"
id
="btnEdit" onmouseover="this.src='../images/BT_EditOver.gif'"
onfocus
="if(this.blur)this.blur()" onmouseout="this.src='../images/BT_Edit.gif'" AlternateText="编辑"
Runat
="server" BorderWidth="0" ImageUrl="../images/BT_Edit.gif" onclick="btnEdit_Click1"></asp:imagebutton>
<asp:imagebutton onmousedown="this.src='../images/BT_DelDown.gif'" id="btnDel" onmouseover="this.src='../images/BT_DelOver.gif'"
onfocus
="if(this.blur)this.blur()" onmouseout="this.src='../images/BT_Del.gif'" AlternateText="删除"
Runat
="server" BorderWidth="0" ImageUrl="../images/BT_Del.gif" onclick="btnDel_Click1"></asp:imagebutton>
</td>
</tr>
</table>
<table>
<tr>
<td width="17%" valign="top" >
<ignav:UltraWebTree Height="600px" id="treeList" runat="server"
BackColor
="White" BorderStyle="Inset"
BorderWidth
="1px" WebTreeTarget="ClassicTree" DefaultImage="../Images/folder.gif"
DefaultSelectedImage
="../Images/folder.gif" Width="800px" HiliteClass=""
HoverClass
="" Indentation="20">
<SelectedNodeStyle ForeColor="White" BackColor="Navy"></SelectedNodeStyle>
<Levels>
<ignav:Level Index="0"></ignav:Level>
<ignav:Level Index="1"></ignav:Level>
<ignav:Level Index="2"></ignav:Level>
<ignav:Level Index="3"></ignav:Level>
</Levels>
<ClientSideEvents AfterNodeSelectionChange="Check"></ClientSideEvents>
</ignav:UltraWebTree>

&nbsp;</td>
</tr>


</table>

</div>
</form>
</body>
</html>
Standard.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Infragistics.WebUI.UltraWebNavigator;

namespace hbproject.standard
{
public partial class Standard : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.btnAdd.Attributes.Add("onclick","return Add();");
this.btnEdit.Attributes.Add("onclick","return Edit();");
this.btnDel.Attributes.Add("onclick", "return Del();");

InitTree();

}

}



#region 初始化树
private void InitTree()
{
this.treeList.ClearAll();
Node startNode
= new Node();
startNode.Tag
= "-1";
startNode.Text
= "表名";
//startNode.TargetFrame = "hasChild";
//startNode.
Node root= treeList.Nodes.Add(startNode);
root.Expanded
= true;
DataTable dt
= dal.STANDARD_LIST().Tables[0];

//第一层节点遍历
DataView dv = dal.STANDARD_LIST().Tables[0].DefaultView;
dv.RowFilter
= "PARENT_STANDARD_ID is null";
for (int i = 0; i < dv.Count; i++)
{
Node nd
= new Node();
nd.Text
= dv[i]["TITLE"].ToString() + "" + dv[i]["CONTENT"].ToString();
nd.Tag
= dv[i]["STANDARD_ID"].ToString();
//大类标签
//nd.TargetFrame = "Categories";
//nd.HoverClass = dv[i]["LEVEL_FLAG"].ToString();

//this.treeList.Nodes.Add(nd);
Node child = startNode.Nodes.Add(nd);
child.Expanded
= true;

//if (SelNodeTagID == nd.Tag.ToString().Trim())
// {
// treeList.SelectedNode = nd;
// }
}

this.treeList.SelectedNode = this.treeList.Nodes[0];
GenerateTree(
this.treeList.Nodes, dt);
}
#endregion

#region GenerateTree

private void GenerateTree(Nodes nodes, DataTable dt)
{
if (nodes != null)
{
foreach (Node n in nodes)
{
DataView dv
= dt.DefaultView;
dv.RowFilter
= "PARENT_STANDARD_ID=" + n.Tag.ToString();
//dv.Sort = "ORDER_NUM ASC";

for (int i = 0; i < dv.Count; i++)
{
Node nd
= new Node();
nd.Text
= dv[i]["TITLE"].ToString() +""+ dv[i]["CONTENT"].ToString();
nd.Tag
= dv[i]["STANDARD_ID"].ToString();
//nd.HoverClass = dv[i]["LEVEL_FLAG"].ToString();
nd.TargetFrame = "child";
n.Nodes.Add(nd);
nd.Expanded
= true;
//if (SelNodeTagID == nd.Tag.ToString().Trim())
// {
// treeList.SelectedNode = nd;
// nd.Expand(true);
// }
}
if (n.Nodes.Count > 0)
{
GenerateTree(n.Nodes, dt);
}


}
}
}
#endregion


protected void btnAdd_Click(object sender, ImageClickEventArgs e)
{
InitTree();
}

protected void btnEdit_Click(object sender, ImageClickEventArgs e)
{
InitTree();
}

protected void btnDel_Click(object sender, ImageClickEventArgs e)
{
InitTree();
}


protected void btnDel_Click1(object sender, ImageClickEventArgs e)
{

dal.STANDARD_DEL(
int.Parse(this.treeList.SelectedNode.Tag.ToString()));

InitTree();

}

protected void btnAdd_Click1(object sender, ImageClickEventArgs e)
{
InitTree();
}

protected void btnEdit_Click1(object sender, ImageClickEventArgs e)
{
InitTree();
}
}
}
standard_add.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace hbproject.standard
{
public partial class standard_add : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.btOk.Text = "添加";
STANDARD_TYPE_lable.Visible
= false;
STANDARD_TYPE.Visible
= false;
MIN_SCORE_lable.Visible
= false;
MIN_SCORE.Visible
= false;
MAX_SCORE_lable.Visible
= false;
MAX_SCORE.Visible
= false;

string count = Request["count"].ToString();
ORDER_NUMBER.Text
= count;

string targetFrame = Request["targetFrame"].ToString();
if (targetFrame == "child")
{
STANDARD_TYPE_lable.Visible
= true;
STANDARD_TYPE.Visible
= true;
MIN_SCORE_lable.Visible
= true;
MIN_SCORE.Visible
= true;
MAX_SCORE_lable.Visible
= true;
MAX_SCORE.Visible
= true;

}
}
//if(Request[""]

}

protected void btOk_Click(object sender, EventArgs e)
{
string order_number;
string title;
string content;
string score;
string remark;
string standard_type;
string parent_standard_id;
string min_score;
string max_score;
string targetFrame = Request["targetFrame"].ToString();



if (targetFrame == "child")
{
order_number
= ORDER_NUMBER.Text.Trim();
title
= TITLE.Text.Trim();
content
= CONTENT.Text.Trim();
score
= SCORE.Text.Trim();
remark
= REMARK.Text.Trim();
standard_type
= STANDARD_TYPE.Text.Trim();
parent_standard_id
= Request["PARENT_STANDARD_ID"].ToString();
min_score
= MIN_SCORE.Text.Trim();
max_score
= MAX_SCORE.Text.Trim();
}
else
{
order_number
= ORDER_NUMBER.Text.Trim();
title
= TITLE.Text.Trim();
content
= CONTENT.Text.Trim();
score
= SCORE.Text.Trim();
remark
= REMARK.Text.Trim();
parent_standard_id
= Request["PARENT_STANDARD_ID"].ToString();
standard_type
= "";
min_score
= "0";
max_score
= score;
}
int out_id = -1;
dal.STANDARD_ADD(title, content, score, remark, standard_type, Convert.ToInt32(parent_standard_id), Convert.ToInt32(min_score), Convert.ToInt32(max_score), Convert.ToInt32(order_number),
out out_id);
Response.Write(
"<script>window.returnValue=1;window.open=null;window.close();</script>");
}

}
}
sta_edit.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sta_edit.aspx.cs" Inherits="hbproject.standard.sta_edit" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<link href="../UI/dialogStyle.css" type="text/css" rel="stylesheet">
</head>
<body>
<form id="form1" runat="server">
<div>
<table width="400" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<asp:Label ID="ORDER_NUMBER_lable" runat="server" Text="序号:" Width="78" ></asp:Label>
</td>
<td>
<asp:TextBox ID="ORDER_NUMBER" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
<tr>
<td>
<asp:Label ID="TITLE_lable" runat="server" Text="标题:" Width="78" ></asp:Label>
&nbsp;</td>
<td>
<asp:TextBox ID="TITLE" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
</tr>
</tr>
<tr>
<td width="78" >
<asp:Label ID="CONTENT_lable" runat="server" Text="内容:" Width="78" ></asp:Label>
</td>
<td valign="top" width="300" colspan="1" height="62">
<asp:TextBox ID="CONTENT" Height="88px" runat="server" CssClass="MDInput"
Width
="100%" TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
<tr>
<td width="100">
<asp:Label ID="SCORE_lable" runat="server" Text="分数:" Width="78" ></asp:Label>
</td>
<td>
<asp:TextBox ID="SCORE" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
</tr>
<tr>
<td width="78">
<asp:Label ID="REMARK_lable" runat="server" Text="备注:" Width="78" ></asp:Label>
</td>
<td>
<asp:TextBox ID="REMARK" Height="88px" runat="server" CssClass="MDInput"
Width
="300" TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
<tr>
<td width="78">
<asp:Label ID="STANDARD_TYPE_lable" runat="server" Text="标准类别:" Width="78" ></asp:Label>
</td>
<td>
<asp:TextBox ID="STANDARD_TYPE" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
</tr>

<tr>
<td width="78">
<asp:Label ID="MIN_SCORE_lable" runat="server" Text="最小分数:" Width="78" ></asp:Label>
</td>
<td>
<asp:TextBox ID="MIN_SCORE" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
</tr>
<tr>
<td width="78">
<asp:Label ID="MAX_SCORE_lable" runat="server" Text="最大分数:" Width="78" ></asp:Label>

</td>
<td>
<asp:TextBox ID="MAX_SCORE" runat="server" CssClass="MDInput" Width="300"></asp:TextBox>
</td>
</tr>
<tr>
<td align="right" width="100%" colspan="2">
<asp:Button ID="btOk" runat="server" CssClass="MDButton" Text=" 确 定 " OnClick="btOk_Click">
</asp:Button>
<asp:Button ID="btClose" runat="server" CssClass="MDButton" Text=" 取 消 " OnClientClick="window.close();">
</asp:Button>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
sta_edit.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace hbproject.standard
{
public partial class sta_edit : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.btOk.Text = "修改";

STANDARD_TYPE_lable.Visible = false;
STANDARD_TYPE.Visible = false;
MIN_SCORE_lable.Visible = false;
MIN_SCORE.Visible = false;
MAX_SCORE_lable.Visible = false;
MAX_SCORE.Visible = false;

string targetFrame = Request["targetFrame"].ToString();
if (targetFrame == "child")
{
STANDARD_TYPE_lable.Visible = true;
STANDARD_TYPE.Visible = true;
MIN_SCORE_lable.Visible = true;
MIN_SCORE.Visible = true;
MAX_SCORE_lable.Visible = true;
MAX_SCORE.Visible = true;

}

if (Request["STANDARD_ID"] != null && Request["STANDARD_ID"].ToString() != "")
{
DataSet ds = dal.STANDARD_LOAD(int.Parse(Request["STANDARD_ID"].ToString()));
this.ORDER_NUMBER.Text = ds.Tables[0].Rows[0]["ORDER_NUMBER"].ToString();
this.CONTENT.Text = ds.Tables[0].Rows[0]["CONTENT"].ToString();
this.SCORE.Text = ds.Tables[0].Rows[0]["SCORE"].ToString();
this.REMARK.Text = ds.Tables[0].Rows[0]["REMARK"].ToString();
this.STANDARD_TYPE.Text = ds.Tables[0].Rows[0]["STANDARD_TYPE"].ToString();

this.MIN_SCORE.Text = ds.Tables[0].Rows[0]["MIN_SCORE"].ToString();
this.MAX_SCORE.Text = ds.Tables[0].Rows[0]["MAX_SCORE"].ToString();
this.TITLE.Text=ds.Tables[0].Rows[0]["TITLE"].ToString();

}
}
//if(Request[""]

}

protected void btOk_Click(object sender, EventArgs e)
{

string standard_id = Request["STANDARD_ID"].ToString();
string order_number;
string title;
string content;
string score;
string remark;
string standard_type;
string parent_standard_id;
string min_score;
string max_score;

string targetFrame= Request["targetFrame"].ToString();
if (targetFrame == "child")
{
standard_id = Request["STANDARD_ID"].ToString();
order_number = ORDER_NUMBER.Text.Trim();
title = TITLE.Text.Trim();
content = CONTENT.Text.Trim();
score = SCORE.Text.Trim();
remark = REMARK.Text.Trim();
standard_type = STANDARD_TYPE.Text.Trim();

min_score = MIN_SCORE.Text.Trim();
max_score = MAX_SCORE.Text.Trim();
}
else
{
standard_id = Request["STANDARD_ID"].ToString();
order_number = ORDER_NUMBER.Text.Trim();
title = TITLE.Text.Trim();
content = CONTENT.Text.Trim();
score = SCORE.Text.Trim();
remark = REMARK.Text.Trim();

standard_type = "";
min_score = "0";
max_score = score;
}


dal.STANDARD_UPDATE(Convert.ToInt32(standard_id), title, content, score, remark, standard_type, Convert.ToInt32(min_score), Convert.ToInt32(max_score), Convert.ToInt32(order_number));

//dal.STANDARD_ADD(order_num, content, score, remark, standard_type, Convert.ToInt32(parent_standard_id), Convert.ToInt32(min_score), Convert.ToInt32(max_score),out out_id);
Response.Write("
<script>window.returnValue=1;window.open=null;window.close();</script>");
}
}
}
dal
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Data.OracleClient;
using WorkFlow.Labor.Model;
using WorkFlow.Control;

namespace hbproject.standard
{
public class dal
{
#region STANDARD_UPDATE
/// <summary>
/// STANDARD_UPDATE
/// </summary>
/// <param name="IN_STANDARD_ID"></param>
/// <param name="IN_TITLE"></param>
/// <param name="IN_CONTENT"></param>
/// <param name="IN_SCORE"></param>
/// <param name="IN_REMARK"></param>
/// <param name="IN_STANDARD_TYPE"></param>
/// <param name="IN_MIN_SCORE"></param>
/// <param name="IN_MAX_SCORE"></param>
/// <param name="IN_ORDER_NUMBER"></param>
/// <returns></returns>
public static void STANDARD_UPDATE(int IN_STANDARD_ID, string IN_TITLE, string IN_CONTENT, string IN_SCORE, string IN_REMARK, string IN_STANDARD_TYPE, int IN_MIN_SCORE, int IN_MAX_SCORE, int IN_ORDER_NUMBER)
{
System.Data.OracleClient.OracleParameter[] ps
= new OracleParameter[]{
new OracleParameter("IN_STANDARD_ID",OracleType.Int32,22),
new OracleParameter("IN_TITLE",OracleType.VarChar,100),
new OracleParameter("IN_CONTENT",OracleType.VarChar,100),
new OracleParameter("IN_SCORE",OracleType.VarChar,100),
new OracleParameter("IN_REMARK",OracleType.VarChar,100),
new OracleParameter("IN_STANDARD_TYPE",OracleType.VarChar,100),
new OracleParameter("IN_MIN_SCORE",OracleType.Int32,22),
new OracleParameter("IN_MAX_SCORE",OracleType.Int32,22),
new OracleParameter("IN_ORDER_NUMBER",OracleType.Int32,22),

};
ps[
0].Value = IN_STANDARD_ID;
ps[
1].Value = IN_TITLE;
ps[
2].Value = IN_CONTENT;
ps[
3].Value = IN_SCORE;
ps[
4].Value = IN_REMARK;
ps[
5].Value = IN_STANDARD_TYPE;
ps[
6].Value = IN_MIN_SCORE;
ps[
7].Value = IN_MAX_SCORE;
ps[
8].Value = IN_ORDER_NUMBER;

OracleData.ExecuteNonQuery(OracleData.CONNECT_STR, CommandType.StoredProcedure,
"STANDARD_MANAGE.STANDARD_UPDATE", ps);


}
#endregion STANDARD_UPDATE





#region STANDARD_LIST
/// <summary>
/// STANDARD_LIST
/// </summary>
/// <returns></returns>
public static DataSet STANDARD_LIST()
{
System.Data.OracleClient.OracleParameter[] ps
= new OracleParameter[]{
new OracleParameter("OUT_CUR", OracleType.Cursor,200, ParameterDirection.Output, true,0,0,"",DataRowVersion.Default,null),

};


return OracleData.ExecuteDataset(OracleData.CONNECT_STR, CommandType.StoredProcedure, "STANDARD_MANAGE.STANDARD_LIST", ps);


}
#endregion STANDARD_LIST



#region STANDARD_DEL
/// <summary>
/// STANDARD_DEL
/// </summary>
/// <param name="IN_STANDARD_ID"></param>
/// <returns></returns>
public static void STANDARD_DEL(int IN_STANDARD_ID)
{
System.Data.OracleClient.OracleParameter[] ps
= new OracleParameter[]{
new OracleParameter("IN_STANDARD_ID",OracleType.Int32,22),

};
ps[
0].Value = IN_STANDARD_ID;

OracleData.ExecuteNonQuery(OracleData.CONNECT_STR, CommandType.StoredProcedure,
"STANDARD_MANAGE.STANDARD_DEL", ps);


}
#endregion STANDARD_DEL

#region STANDARD_LOAD
/// <summary>
/// STANDARD_LOAD
/// </summary>
/// <param name="IN_STANDARD_ID"></param>
/// <returns></returns>
public static DataSet STANDARD_LOAD(int IN_STANDARD_ID)
{
System.Data.OracleClient.OracleParameter[] ps
= new OracleParameter[]{
new OracleParameter("IN_STANDARD_ID",OracleType.Int32,22),
new OracleParameter("OUT_CUR", OracleType.Cursor,200, ParameterDirection.Output, true,0,0,"",DataRowVersion.Default,null),

};
ps[
0].Value = IN_STANDARD_ID;


return OracleData.ExecuteDataset(OracleData.CONNECT_STR, CommandType.StoredProcedure, "STANDARD_MANAGE.STANDARD_LOAD", ps);


}
#endregion STANDARD_LOAD


#region STANDARD_ADD
/// <summary>
/// STANDARD_ADD
/// </summary>
/// <param name="IN_TITLE"></param>
/// <param name="IN_CONTENT"></param>
/// <param name="IN_SCORE"></param>
/// <param name="IN_REMARK"></param>
/// <param name="IN_STANDARD_TYPE"></param>
/// <param name="IN_PARENT_STANDARD_ID"></param>
/// <param name="IN_MIN_SCORE"></param>
/// <param name="IN_MAX_SCORE"></param>
/// <param name="IN_ORDER_NUMBER"></param>
/// <param name="OUT_STANDARD_ID"></param>
/// <returns></returns>
public static void STANDARD_ADD(string IN_TITLE, string IN_CONTENT, string IN_SCORE, string IN_REMARK, string IN_STANDARD_TYPE, int IN_PARENT_STANDARD_ID, int IN_MIN_SCORE, int IN_MAX_SCORE, int IN_ORDER_NUMBER, out int OUT_STANDARD_ID)
{
System.Data.OracleClient.OracleParameter[] ps
= new OracleParameter[]{
new OracleParameter("IN_TITLE",OracleType.VarChar,100),
new OracleParameter("IN_CONTENT",OracleType.VarChar,100),
new OracleParameter("IN_SCORE",OracleType.VarChar,100),
new OracleParameter("IN_REMARK",OracleType.VarChar,100),
new OracleParameter("IN_STANDARD_TYPE",OracleType.VarChar,100),
new OracleParameter("IN_PARENT_STANDARD_ID",OracleType.Int32,22),
new OracleParameter("IN_MIN_SCORE",OracleType.Int32,22),
new OracleParameter("IN_MAX_SCORE",OracleType.Int32,22),
new OracleParameter("IN_ORDER_NUMBER",OracleType.Int32,22),
new OracleParameter("OUT_STANDARD_ID",OracleType.Int32,22,ParameterDirection.Output,true,0,0,"",DataRowVersion.Default,null),

};
ps[
0].Value = IN_TITLE;
ps[
1].Value = IN_CONTENT;
ps[
2].Value = IN_SCORE;
ps[
3].Value = IN_REMARK;
ps[
4].Value = IN_STANDARD_TYPE;
ps[
5].Value = IN_PARENT_STANDARD_ID;
ps[
6].Value = IN_MIN_SCORE;
ps[
7].Value = IN_MAX_SCORE;
ps[
8].Value = IN_ORDER_NUMBER;

OracleData.ExecuteNonQuery(OracleData.CONNECT_STR, CommandType.StoredProcedure,
"STANDARD_MANAGE.STANDARD_ADD", ps);
OUT_STANDARD_ID
= int.Parse(ps[9].Value.ToString());


}
#endregion STANDARD_ADD




}
}

表的建立

STANDARD
STANDARD_ID NUMBER N id
TITLE
VARCHAR2(20) Y 标题
CONTENT
VARCHAR2(2000) Y 内容
SCORE
VARCHAR2(2000) Y 分数
REMARK
VARCHAR2(2000) Y 备注
STANDARD_TYPE
VARCHAR2(20) Y 标准类别,当前你填写的为 “科研评分标准”
PARENT_STANDARD_ID
NUMBER Y 父项ID
MIN_SCORE
NUMBER Y 分数范围
MAX_SCORE
NUMBER Y
ORDER_NUMBER
NUMBER Y 排序

oralce存储过程创建包体standard_manage 分别为定义和说明部分

STANDARD_MANAGE
create or replace package standard_manage as
procedure standard_add(In_TITLE In Varchar2,
In_CONTENT
In Varchar2,
In_SCORE
In Varchar2,
In_REMARK
In Varchar2,
In_STANDARD_TYPE
In VARCHAR2,
In_PARENT_STANDARD_ID
In NUMBER,
In_MIN_SCORE
In Number,
In_MAX_SCORE
In Number,
In_ORDER_NUMBER
In Number,
Out_STANDARD_ID Out
NUMBER);

PROCEDURE standard_del(In_STANDARD_ID In Number);

procedure standard_update(In_STANDARD_ID In NUMBER,
In_TITLE
In Varchar2,
In_CONTENT
In Varchar2,
In_SCORE
In Varchar2,
In_REMARK
In Varchar2,
In_STANDARD_TYPE
In VARCHAR2,

In_MIN_SCORE
In Number,
In_MAX_SCORE
In Number,
In_ORDER_NUMBER
In Number);


PROCEDURE standard_load(In_STANDARD_ID In Number,
Out_Cur OUT Helper_Pkg.Operate_Cursor);

Procedure standard_list(out_cur Out Helper_pkg.Operate_Cursor);
end standard_manage;
STANDARD_MANAGE
create or replace package body standard_manage is


------添加数据项目------------
procedure standard_add(In_TITLE In Varchar2,
In_CONTENT
In Varchar2,
In_SCORE
In Varchar2,
In_REMARK
In Varchar2,
In_STANDARD_TYPE
In VARCHAR2,
In_PARENT_STANDARD_ID
In NUMBER,
In_MIN_SCORE
In Number,
In_MAX_SCORE
In Number,
In_ORDER_NUMBER
In Number,
Out_STANDARD_ID Out
NUMBER) As

begin
Out_STANDARD_ID :
=Helper_Pkg.New_Id('STANDARD');
If In_PARENT_STANDARD_ID = -1 Then
Insert Into Standard
(STANDARD_ID, TITLE, CONTENT, SCORE, REMARK ,STANDARD_TYPE,PARENT_STANDARD_ID,MIN_SCORE,MAX_SCORE,ORDER_NUMBER)
Values
(Out_STANDARD_ID, In_TITLE, In_CONTENT,In_SCORE,In_REMARK,In_STANDARD_TYPE,
Null,In_MIN_SCORE,In_MAX_SCORE,In_ORDER_NUMBER);

Else
Insert Into Standard
(STANDARD_ID, TITLE, CONTENT, SCORE, REMARK ,STANDARD_TYPE,PARENT_STANDARD_ID,MIN_SCORE,MAX_SCORE,ORDER_NUMBER)
Values
(Out_STANDARD_ID, In_TITLE, In_CONTENT,In_SCORE,In_REMARK,In_STANDARD_TYPE,In_PARENT_STANDARD_ID,In_MIN_SCORE,In_MAX_SCORE,In_ORDER_NUMBER);
End If;
end;
--------更新数据项目------------
procedure standard_update(In_STANDARD_ID In NUMBER,
In_TITLE
In Varchar2,
In_CONTENT
In Varchar2,
In_SCORE
In Varchar2,
In_REMARK
In Varchar2,
In_STANDARD_TYPE
In VARCHAR2,

In_MIN_SCORE
In Number,
In_MAX_SCORE
In Number,
In_ORDER_NUMBER
In Number) As
Begin
Update Standard
Set TITLE = In_TITLE,
CONTENT
= In_CONTENT,
SCORE
= In_SCORE,
REMARK
= In_REMARK,
STANDARD_TYPE
= In_STANDARD_TYPE,

MIN_SCORE
= In_MIN_SCORE,
MAX_SCORE
= In_MAX_SCORE,
ORDER_NUMBER
= In_ORDER_NUMBER
Where STANDARD_ID = In_STANDARD_ID;
End;

--------删除数据项目-----------
PROCEDURE standard_del(In_STANDARD_ID In Number) As
Begin
Delete From Standard Where STANDARD_ID = IN_STANDARD_ID;
End;


----------查找特定项------------
PROCEDURE standard_load(In_STANDARD_ID In Number,
Out_Cur OUT Helper_Pkg.Operate_Cursor)
As
Begin
Open Out_Cur For
Select * From Standard Where STANDARD_ID = In_STANDARD_ID;
End;

----------查找所有项----------------
Procedure standard_list(Out_Cur Out Helper_Pkg.Operate_Cursor)As
Begin
Open Out_Cur For
Select * From Standard
Order By ORDER_NUMBER ;
End;
end standard_manage;
原文地址:https://www.cnblogs.com/zuifengke/p/2017140.html