关闭

dotnet中调用存储过程的用法,不含事务处理

477人阅读 评论(0) 收藏 举报

簡單的存儲過程如下:

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;

類裏的方法如下:

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);
    }

}

在頁面的後臺的按鈕事件中調用存儲過程

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();           
    }

}

説明:我在這裡寫的盡量簡潔易懂,沒有多餘的檢驗語句,目的是讓大多數人都能看懂,

如果你是高手,請不要笑話以上代碼不講套路,並請提出中肯的意見。

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:63392次
    • 积分:977
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:17篇
    • 译文:0篇
    • 评论:13条
    文章分类