오라클 전용 공급자(Provider)를 사용할 경우가 있습니다. SQL에서 추가 파라미터값을 설정하는 것 과 같은
방법이지만 쿼리문에서 변수로 사용되는 부분만 조금 다릅니다.

        int Fnum = 0;
        int Lnum = 0;

        string service_name = @"
                            (DESCRIPTION =
                                (ADDRESS_LIST =
                                  (ADDRESS = (PROTOCOL = TCP)(HOST = 211.106.178.145)(PORT = 1521))
                                )
                                (CONNECT_DATA =
                                  (SERVICE_NAME = ORA920)
                                )
                              )";

        string sqlString = "SELECT ROWNUM EMP_NO, EMP_NM FROM TBM_EMP
                                 WHERE ROWNUM BETWEEN :FNUM AND :LNUM";


        DataSet ds = new DataSet();

        OracleConnection Oracleconn =  New OracleConnection("Data Source=" + service_name + 
                                                                                 ";User=CALLSM;Password=CALLSM");

        Oracleconn.Open();

        OracleDataAdapter OrcleAd = new OracleDataAdapter(sqlString, Oracleconn);
        OrcleAd.SelectCommand.Parameters.Add(":firstnum", OracleType.Int32).Value = 1;
        OrcleAd.SelectCommand.Parameters.Add(":lastnum", OracleType.Int32).Value = 3;

        Oracleconn.Close();
        OrcleAd.Fill(ds);

        GridView1.DataSource = ds;
        GridView1.DataBind();


* ROWNUM 테이블에 속한 로우번호를 가져 오는 변수 입니다. 참고로 ROWNUM의 별칭을 이용할 경우에는
SQL과 마찬가지 현재 Select 부분에서 사용할 수 없습니다. 다른 집합그룹으로 현재 그룹을 감싸않아 사용
할 수 있습니다.

  string sqlString = "
                          SELECT * FROM
                          (
                                SELECT ROWNUM AS RN EMP_NO, EMP_NM FROM TBM_EMP
                          )
                           WHERE RN BETWEEN :FNUM AND :LNUM";
                         




크리에이티브 커먼즈 라이센스
Creative Commons License 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
트랙백 주소: http://ggoma.isblog.net/trackback_post_445.aspx

댓글을 달아 주세요