在本文中,将介绍如何在存储过程中使用 output 关键字。
首先创建一个表
create table login(uIdd varchar(15),uPwdd varchar(15))
插入数据
insert into login select 'admin','admin'union all select 'user','user'
创建存储过程:
create proc usp_select(@id varchar(15) output,@pwd varchar(15)) as select * from login where jack@onitroad and jack@onitroad
执行存储过程
exec usp_select 'user','user'
现在在网页中编写以下源代码。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="page1.aspx.cs" Inherits="page1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <table> <tr><td>click here to get username</td><td><asp:Button ID="btn1" Text="get user Id" runat="server" OnClick="btn1_Click" /></td></tr> <tr><td> </td><td><asp:Label ID="lbl1" runat="server"></asp:Label></td></tr> </table> </div> </form> </body> </html>
现在在Web页面中写下以下源代码:
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 System.Data.SqlClient; public partial class page1 : System.Web.UI.Page { SqlConnection con = new SqlConnection("server=.;database=outputsp; user id=sa;pwd=wintellect"); SqlCommand cmd; protected void Page_Load(object sender, EventArgs e) { con.Open(); Response.Write("ya"); con.Close(); } protected void btn1_Click(object sender, EventArgs e) { string str="admin"; cmd = new SqlCommand("usp_select", con); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@id", str); cmd.Parameters.AddWithValue("@pwd", str); con.Open(); cmd.ExecuteNonQuery(); cmd.Parameters.Add("@id", SqlDbType.Char, 500); cmd.Parameters["@id"].Direction = ParameterDirection.Output; string userName = (string)cmd.Parameters["@id"].Value; lbl1.Text = userName; } }
日期:2020-06-02 22:18:12 来源:oir作者:oir