asp. net 에서 SQL 테이프 입 출력 을 호출 하 는 저장 과정

3141 단어
1. 저장 과정 에서 return 문 구 를 되 돌려 주 는 전체 저장 과정 함수 의 반환 값 을 얻 습 니 다.
/ / 저장 프로 세 스 return 의 값 을 얻 고 매개 변 수 를 정의 하 며 return 의 값 을 받 아들 이 는 역할 을 합 니 다.    CmdObj.Parameters.Add("RETURN_VALUE", SqlDbType.Int).Direction =ParameterDirection.ReturnValue; 이 매개 변 수 를 가 져 오 는 방식 으로 return 이 되 돌아 오 는 값 int reValue = int. Parse (CmdObj. Parameters ["RETURN VALUE"]. Value. ToString () 를 최종 적 으로 얻 습 니 다.
2. 저장 프로시저 출력 매개 변수의 값 획득:
sql 의 매개 변 수 를 정의 합 니 다. 지정 한 형식 은 CmdObj. Parameters. add ("@ outValue", SqlDbType. VarChar). Direction = ParameterDirection. Output 입 니 다.
출력 매개 변수의 값 string outValue = CmdObj. Parameters ["@ outValue"]. Value. ToString ();
요약 하면 관건 적 인 부분 은 매개 변수의 Direction 속성 을 가리 키 고 ParameterDirection 을 사용 하여 지정 하 는 것 입 니 다. 4 가지 유형, 입력, 출력 을 지정 할 수 있 습 니 다. 입력 이자 출력 입 니 다. return 을 받 아들 일 수 있 습 니 다.
 
 
*     
* 
 create procedure queryStuNameById
  (
   @stuId varchar(10),--    
   @stuName varchar(10) output --    
  )
 as
  select @stuName=stuName from stuInfo where stuId=@stuId

 
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace StoreProduceTest
{
    public class Program
    {

        static void Main(string[] args)
        {
            Operater op = new Operater();
            string name = op.QueryStuNameById("1234");
            Console.WriteLine(string.Format("   1234       {0}", name));
        }
    }
    public class Operater
    {
        private string ConStr = "server=.;database=User;uid=sa;pwd=1234";
        private SqlConnection sqlCon = null;
        private SqlCommand sqlComm = null;
        SqlDataReader dr = null;
        public string QueryStuNameById(string Id)
        {
            string name = "";
            try
            {
                using (sqlCon = new SqlConnection(ConStr))
                {
                    sqlCon.Open();
                    sqlComm = new SqlCommand("queryStuNameById", sqlCon);
                    //            
                    sqlComm.CommandType = CommandType.StoredProcedure;
                    //    
                    sqlComm.Parameters.Add("@stuId", SqlDbType.VarChar);
                    //           ,  size   0,
                    sqlComm.Parameters.Add("@stuName", SqlDbType.VarChar, 10);
                    //            ,        ,
                    sqlComm.Parameters["@stuName"].Direction = ParameterDirection.Output;
                    //     
                    sqlComm.Parameters["@stuId"].Value = "1234";
                    //  
                    sqlComm.ExecuteNonQuery();
                    //        ,    name,  ,      object   ,          
                    name = sqlComm.Parameters["@stuName"].Value.ToString();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            return name;
        }
    }
}

좋은 웹페이지 즐겨찾기