(1)在SQL Server中建立如下的存储过程: set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @studentname nvarchar(50) OUTPUT AS BEGIN SELECT @studentname=studentname FROM student WHERE studentid=@studentid if @@Error<>0 RETURN -1 else RETURN 0 END 该存储过程的作用是根据学号,获取姓名,并使用RETURN关键字来返回值。 如果要在SQL Server的查询分析器中执行该存储过程,对应的SQL语句如下: Declare @studentname nvarchar(50), exec GetNameById @studentname output,@id=2 select @studentname select @@Error (2)编写C#代码: using (SqlConnection conn = new SqlConnection(connStr)) { try { SqlCommand cmd = new SqlCommand("GetNameById", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@studentid", "09888888"); //给输入参数赋值 SqlParameter parOutput =cmd.Parameters.Add("@studentname", SqlDbType.NVarChar, 50); //定义输出参数 parOutput.Direction = ParameterDirection.Output; //参数类型为Output SqlParameter parReturn = new SqlParameter("@return", SqlDbType.Int); parReturn.Direction = ParameterDirection.ReturnValue; //参数类型为ReturnValue cmd.Parameters.Add(parReturn); conn.Open(); cmd.ExecuteNonQuery(); MessageBox.Show(parOutput.Value.ToString()); //显示输出参数的值 MessageBox.Show(parReturn.Value.ToString()); //显示返回值 } catch (System.Exception ex) { MessageBox.Show(ex.Message); } } 上面的@return是临时参数,用于获取存储过程的返回值,这个参数名称可以是任意的。 拣尽寒枝不肯栖,寂寞沙洲。 分类: .Net 标签: C#, 存储过程 绿色通道: 谢谢推荐! 关注成功 收藏该文与我联系 zhouhb 关注 - 27 粉丝 - 70 关注成功 4 0 推荐成功 « 上一篇:DataGridView使用初步 » 下一篇:利用XmlDocument操作XML文件