protected void Button1_Click(object sender, EventArgs e)
{ int number =Convert.ToInt32(TextBox1.Text.ToString().Trim()); int tid =Convert.ToInt32(TextBox2.Text.ToString().Trim()); int k = exec_proc_2(number, tid); bind(); Response.Write(k.ToString()); } protected void bind() { SqlConnection conn = new SqlConnection("server=(local);database=yiqi;uid=monkey;pwd=donkey"); conn.Open(); SqlCommand cmd = new SqlCommand("proc_3", conn); cmd.CommandType = CommandType.StoredProcedure; DataTable dt = new DataTable(); using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } GridView1.DataSource = dt; GridView1.DataBind();}
public static int exec_proc_2(int number, int tid)
{ SqlConnection conn = new SqlConnection("server=(local);database=yiqi;uid=monkey;pwd=donkey"); conn.Open(); SqlCommand cmd = new SqlCommand("proc_2", conn);//同上 cmd.CommandType = CommandType.StoredProcedure;//同上 cmd.Parameters.Add(new SqlParameter("@result", SqlDbType.Int));//添加一个名为@result的参数,数据类型为SqlDbType.Int cmd.Parameters["@result"].Direction = ParameterDirection.Output;//将@result参数设置成为接收输出参数 cmd.Parameters.AddWithValue("@number", number); cmd.Parameters.AddWithValue("@tid", tid); cmd.ExecuteNonQuery(); int result = (int)cmd.Parameters["@result"].Value;//将输出的Object数据转换成int类型 return result; }
-----------------------------------------------------------------------------------------------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON goALTER PROC [dbo].[proc_1]
AS
Insert t1(number) Values(200)
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON goALTER PROC [dbo].[proc_2]
@result int output,
@number int,
@tid int
AS
Update t1 Set number=number+@number Where tid=@tid
Select @result=number From t1
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON goALTER PROC [dbo].[proc_3] AS select * from t1
--------------------------------------
Create Table Table_1
(
tid int identity(1,1),
number int
)