본문 바로가기
컴퓨터이야기/ASP&.NET

2차원 배열과 getRows 구분하기

by 변화지시자 2010. 7. 30.
반응형





2차원 배열 또는 DB의 값(데이터)



행렬 또는 DB에 데이터가 이렇게 들어 있다고 가정하고


















2차원 배열의 경우(행렬)


2차원 배열의 좌표값

행렬 우리가 아는 행렬을 기준으로 가져온다.

여기서 행이 기준이다.  [하나,one,일,first] 이렇게 식으로 잘린다.


그래서 좌표를 보자면


(X , Y) 
X 이고
Y이다
























DB에서 getRows를 이용하여 가져올때



컬럼이 기준이 된다. 
[하나,두울,세엣]  이렇게 잘린다.



getRows의 좌표값

(X, Y)
X는 DB테이블의 컬럼이고,
Y는 DB테이블의 레코드이다.





























이게 자꾸 해깔려서 정리를 한번 해보았다.

기억하자~!

2차원 배열은   (행, 열)

getrows 배열은(컬럼, 레코드)

























소스를 볼때 아래를 참조하자
2차원배열에서 UBound(배열,1)은 numRows 이지만
getrows배열은 UBound(배열,1)은 numCols 이다

또,
getrows배열에서 for문을 돌릴때 ( I , J ) 가 아니라 ( J , I ) 가 된다
굵은 표시와 색깔을 주의하면서 잘 비교하여 보자.




2차원 배열의 경우
Dim arr(2,3)
' 3행 4열 배열
' 0부터 시작하므로 행은 0,1,2
' 0부터 시작하므로 열은 0,1,2,3

numRows = UBound(arr,1)  '행
numCols = UBound(arr,2)   '열

cnt = 0
For i = 0 to numRows
   For j = 0 to numCols
      arr( i , j ) = cnt
      response.write("{"&arr( i , j )&"}")
      cnt = cnt + 1
   Next
      response.write("<p>")
Next
















getRows 배열의 경우

set getDB = 'DBOpen 각자 DB 오픈
     getSQL = 'select * from table 각자 db쿼리문 작성
     set getRS = getDB.execute(getSQL)

     if Not getRs.eof Then
        sArray = getRs.getRows()
     end if

numCols = Ubound(sArray,1)   '컬럼
numRows = Ubound(sArray,2)  '레코드

For i = 0 to numRows 
   For j = 0 to numCols
      response.write("{"&sArray( j , i )&"}")    ' 제이 아이(J, I)로 바뀌여 있다 주의하자  
   Next
   response.write("<p>")
Next