1. 带参数的存储过程
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [ dbo ] . [ sp_select_gua ] @num int AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON ; select mean from tb_gua where id = @num END
C#中的调用
conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = " sp_select_gua " ; cmd.Connection = conn; cmd.Parameters.Add( new SqlParameter( " @num " , SqlDbType.Int)); cmd.Parameters[ " @num " ].Value = Calculator(); c = ( string )cmd.ExecuteScalar();
2. 带rerurn的存储过程
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [ dbo ] . [ sp_select_gua2 ] ( @num1 int , @num2 int ) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON ; return @num1 + @num2 ; END
C#中的调用
conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = " sp_select_gua2 " ; cmd.Connection = conn; cmd.Parameters.Add( new SqlParameter( " @num1 " , SqlDbType.Int)); cmd.Parameters[ " @num1 " ].Value = Calculator(); cmd.Parameters.Add( new SqlParameter( " @num2 " , SqlDbType.Int)); cmd.Parameters[ " @num2 " ].Value = Calculator(); cmd.Parameters.Add( new SqlParameter( " @return " , SqlDbType.Int)); cmd.Parameters[ " @return " ].Direction = ParameterDirection.ReturnValue; cmd.ExecuteNonQuery(); c = cmd.Parameters[ " @return " ].Value.ToString();
3. 带output参数的调用
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [ dbo ] . [ sp_select_gua1 ] ( @num int , @guamean nvarchar ( 1000 ) = '' output, @guaname nvarchar ( 10 ) = '' output) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON ; select @guaname = name, @guamean = mean from tb_gua where id = @num END
C#中的调用
conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = " sp_select_gua1 " ; cmd.Connection = conn; cmd.Parameters.Add( new SqlParameter( " @num " , SqlDbType.Int)); cmd.Parameters[ " @num " ].Value = Calculator(); cmd.Parameters.Add( new SqlParameter( " @guamean " , SqlDbType.NVarChar, 1000 )); cmd.Parameters[ " @guamean " ].Direction = ParameterDirection.Output; cmd.Parameters.Add( new SqlParameter( " @guaname " , SqlDbType.NVarChar, 10 )); cmd.Parameters[ " @guaname " ].Direction = ParameterDirection.Output; cmd.ExecuteNonQuery(); c = cmd.Parameters[ " @guamean " ].Value.ToString(); d = cmd.Parameters[ " @guaname " ].Value.ToString();