簡單的存儲過程如下:
CREATE
OR
REPLACE
PROCEDURE
CMS.PR_INSERTDM
(
ptaskid varchar2 ,
proleid integer ,
pmembername varchar2
)
IS
BEGIN
insert into dutymember(taskid,ROLEID,membername) values (ptaskid,proleid,pmembername);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL ;
WHEN OTHERS THEN
RAISE;
END PR_INSERTDM;
(
ptaskid varchar2 ,
proleid integer ,
pmembername varchar2
)
IS
BEGIN
insert into dutymember(taskid,ROLEID,membername) values (ptaskid,proleid,pmembername);
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL ;
WHEN OTHERS THEN
RAISE;
END PR_INSERTDM;
類裏的方法如下:
public
class
ExcelOperation
... {
public ExcelOperation()
...{
//
// TODO: 在此处添加构造函数逻辑
//
}
public void AddInParameter(DbCommand cmd, string parameterName, object value)
...{
DbParameter dbParameter = cmd.CreateParameter();
//dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Value = value;
dbParameter.Direction = ParameterDirection.Input;
cmd.Parameters.Add(dbParameter);
}
}
... {
public ExcelOperation()
...{
//
// TODO: 在此处添加构造函数逻辑
//
}
public void AddInParameter(DbCommand cmd, string parameterName, object value)
...{
DbParameter dbParameter = cmd.CreateParameter();
//dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Value = value;
dbParameter.Direction = ParameterDirection.Input;
cmd.Parameters.Add(dbParameter);
}
}
在頁面的後臺的按鈕事件中調用存儲過程
using
System;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Drawing;
using System.Reflection;
using System.Runtime.InteropServices;
using Microsoft.Office.Interop.Excel;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data;
public partial class TaskAdministration_test : System.Web.UI.Page
... {
protected void Page_Load(object sender, EventArgs e)
...{
}
protected void Button1_Click(object sender, EventArgs e)
...{
ExcelOperation OEM = new ExcelOperation();
Database db = DatabaseFactory.CreateDatabase();
DbConnection tconn = db.CreateConnection();
DbCommand cmd = tconn.CreateCommand();
cmd.CommandText = "PR_INSERTDM";
cmd.CommandType = CommandType.StoredProcedure;
OEM.AddInParameter(cmd, "ptaskid",txt1.Text);
OEM.AddInParameter(cmd, "proleid", txt2.Text);
OEM.AddInParameter(cmd, "pmembername", txt3.Text);
tconn.Open();
cmd.ExecuteNonQuery();
tconn.Close();
}
}
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Drawing;
using System.Reflection;
using System.Runtime.InteropServices;
using Microsoft.Office.Interop.Excel;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data;
public partial class TaskAdministration_test : System.Web.UI.Page
... {
protected void Page_Load(object sender, EventArgs e)
...{
}
protected void Button1_Click(object sender, EventArgs e)
...{
ExcelOperation OEM = new ExcelOperation();
Database db = DatabaseFactory.CreateDatabase();
DbConnection tconn = db.CreateConnection();
DbCommand cmd = tconn.CreateCommand();
cmd.CommandText = "PR_INSERTDM";
cmd.CommandType = CommandType.StoredProcedure;
OEM.AddInParameter(cmd, "ptaskid",txt1.Text);
OEM.AddInParameter(cmd, "proleid", txt2.Text);
OEM.AddInParameter(cmd, "pmembername", txt3.Text);
tconn.Open();
cmd.ExecuteNonQuery();
tconn.Close();
}
}
説明:我在這裡寫的盡量簡潔易懂,沒有多餘的檢驗語句,目的是讓大多數人都能看懂,
如果你是高手,請不要笑話以上代碼不講套路,並請提出中肯的意見。