오라클 전용 공급자(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";
|