asp.net中怎样调用存储过程和存储过程的写法(转载,留着自己看)

asp.net中怎样调用存储过程和存储过程的写法

创建一个只有输入参数的存储过程

create procedure proc_user
@name varchar(20),
@Password varchar(100)
as 
select * from loginuser 
where name like @name

---创建一个有输入和输出参数的存储过程

create procedure proc_usertext
@name varchar(20),
@blog varchar(100) output
as 
select @blog = blog from loginuser where name = @name

---创建一个有输入和返回参数的存储过程

create PROCEDURE returnval 
 @name varchar(100),
 @blog varchar(100) output
AS
       begin
       select @blog = blog from loginuser where name = @name 
       if(@blog is null)
          set @blog = ‘‘你还没有申请博客‘‘
       return execute(@blog )  --数据数型的转换
       end

在asp.net中的调用

protected void Page_Load(object sender, EventArgs e)
    {
        DataBind();
    }

private void DataBind()
    {
        //只带输入参数的存储过程的写法。
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
        SqlCommand cmd = new SqlCommand("proc_user", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@name", "l%");
        cmd.Parameters.AddWithValue("@Password", "lcs9702");
        con.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        DropDownList1.DataSource = dr;
        DropDownList1.DataTextField = "name";
        DropDownList1.DataValueField = "use_id";
        DropDownList1.DataBind();
    }

private void textDataBind()
    {
        //带输入,输出参数的存储过程的写法。
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
        SqlCommand cmd = new SqlCommand("proc_usertext", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@name", "love");
        cmd.Parameters.Add("@blog", SqlDbType.VarChar,100);
        cmd.Parameters["@blog"].Direction = ParameterDirection.Output;
        //cmd.Parameters.Add(new SqlParameter("@blog",SqlDbType.VarChar,100,ParameterDirection.Output,false,0,0,string.Empty,DataRowVersion.Default,null));
        cmd.CommandType = CommandType.StoredProcedure;
        con.Open();
        cmd.ExecuteNonQuery();
        TextBox1.Text = cmd.Parameters["@blog"].Value.ToString();
        con.Close();

}

private void returnDataBind()
    {
        //带输入,返回参数的存储过程的写法。
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["strConnection"].ConnectionString);
        SqlCommand cmd = new SqlCommand("returnval", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@name", "lcs9702");
        cmd.Parameters.Add(new SqlParameter("@blog", SqlDbType.VarChar, 100, ParameterDirection.Output, false, 0, 0, string.Empty, DataRowVersion.Default, null));
        cmd.CommandType = CommandType.StoredProcedure;
        con.Open();
        cmd.ExecuteNonQuery();
        TextBox2.Text = cmd.Parameters["@blog"].Value.ToString();
        con.Close();
    }

protected void Button1_Click(object sender, EventArgs e)
    {
        textDataBind();
    }

protected void Button2_Click(object sender, EventArgs e)
    {
        returnDataBind();
    }

时间: 2024-08-10 02:11:10

asp.net中怎样调用存储过程和存储过程的写法(转载,留着自己看)的相关文章

ASP.net 中手工调用WS(POST方式)

ASP.net 中手工调用WS(POST方式)核心代码:string strUrl="http://localhost:21695/service1.asmx/getmythmod";HttpWebRequest request=(HttpWebRequest)WebRequest.Create(strUrl);request.Method="POST";request.ContentType="application/x-www-form-url&quo

asp.net中打开新窗口的多种方法(转载)

asp.net中打开新窗口的多种方法 1.Response.Redirect("XXX.aspx",true)——直接转向新的页面,原窗口被代替; 2. Response.Write("<script>window.open(XXX.aspx'',''_blank'')</script>")——原窗口保留,另外新增一个新页面; 3.Response.Write("<script>window.location=XXX.a

Asp.net中ajax调用后台方法

这个当然不用说大家都知道的一种就是ajax调后台的方法.1.有参数的方法调用示例代码如下:前台jQuery代码:$(function() {  这个当然不用说大家都知道的一种就是ajax调后台的方法. 1.有参数的方法调用 示例代码如下: 前台jQuery代码: $(function() {   var browers = browersEstimate();   var params = '{browersType:"' + browers + '"}';   $.ajax({   

asp.net中异步调用webservice

WebService方法是不需要作任何修改的,只是在调用时采用异步的方式,这样在循环中,速度会显得快一点. 原来的方式: HotelMagWeb.com.china_sms.www.MainServices sms=new HotelMagWeb.com.china_sms.www.MainServices(); //实例化一个对象    string sSendRes=sms.massSend(); //直接调用方法 现在可以改为异步调用方式: HotelMagWeb.com.china_sm

ASP.NET中JavaScript 调用后台代码

前序:在不需要右击页面或回发的情况下刷新页面,即JS调用后台代码: 方法一:调用隐藏服务端按钮的点击事件 1.在前端放一个隐藏按钮,将需要调用的后台代码写入OnClick事件中; 2.在前台写一个js函数,函数体为document.getElementById("<%=btnID.ClientID%>").click(); 3.在需要刷新的地方调用js函数,即可调用按钮OnClick事件: 4.此方法适用无返回值: 方法二:JS中直接用<%=MethodName()%

mssql 存储过程调用另一个存储过程中的结果的方法分享

摘要:下文将分享"一个存储过程"中如何调用"另一个存储过程的返回结果",并应用到自身的运算中 在实际开发中,我们经常会遇到在一个存储过程中调用另一个存储过程的返回结果(存储过程相互应用), 实现思路:主要采用临时表将存储过程返回的结果集进行存储,然后供另一个存储过程应用.如下所示: create proc pr_b @a int,@b int as begin select @a as a @b as b union all select @a+1 as a @b+

ibatis中如何调用存储过程

1)sqlmap.xml中的配置如下: 需要注意的事项: a) parameterMap 中对应的属性property的值要和存储过程中的名字一样,并且对应的顺序要和存储过程中的顺序一致, 否则可能无法获取对应的返回值: <!-- 调用packaget的存储过程的参数 --> <parameterMap id="proProductDzProcParam" class="java.util.Map"> <parameter proper

VS中调用SQL SERVER存储过程

 存储过程是经过编译的,永久保存在数据中的一组SQL语句,通过创建和使用存储过程可以提高程序的重用性和扩展性,为程序提供模块化的功能,还有利于对程序的维护和管理.下面就详谈一下,VB.NET如何调用SQL SERVER中的存储过程. 以上就是本人数据库中的一张表-OnDutyInfo 创建存储过程 <span style="font-size:18px;">create procedure pro_OnDutyInfo --存储过程名 @teacherID char(1

Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值

Asp.net中存储过程拖拽至dbml文件中,提示无法获得返回值,去属性表中设置这时候会提示你去属性表中更改返回类型. 其实存储过程返回的也是一张表,只不过有时候存储过程有点复杂或者写法不规范的话不能自动生成映射文件. 不能自动生成那就自己写一张表跟存储过程返回的那张表一样就行.然后拖拽至dbml中,然后设置属性中返回类型为这张表就行了.