게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
레코드셋 문제때문에 질문 올립니다. ^^;; |
---|
작성자: 장윤태
작성일시: 2007-05-15 18:40,
조회수: 37,391
|
아래거는 디버깅용 RS 출력 함수인데요
byVal 로 전달하는데도 이게 자꾸 원본 Rs 를 닫아 버립니다. 원본을 유지하면서 찍을려고 다른거에 복사도 해보고 했는데;; 안되내요;; #상황 sql = sql & "ORDER BY IDX DESC " Function rs_open(sql) Set rs = Server.CreateObject("Adodb.Recordset") rs.open sql, db, 1 End Function Call rs_open(sql) 'print dbs.rs_fieldName(rs,true) rs.pagesize = pSize IntArecord = rs.recordcount <----- 이부분 IntApage = rs.pagecount ADODB.Recordset error '800a0e78' 개체가 닫혀있으면 작업이 허용되지 않습니다. IntArecord = rs.recordcount ◆질문1 objRecordSet 만 직접넣으면 무조건 objRecordSet 가 nothing 처리되더군요 그런데 byval 이면 값전달이니깐 원본에는 영향이 없어야 하는거 아닌가요? 그런데 자꾸 원본이 nothing 처리되더군요;; 그래서 차선책으로 복사해서 전달해 보았조 ◆질문2 Set objRecordSet_temp = objRecordSet 하니까 Set objRecordSet_temp = objRecordSet_temp.NextRecordset 을 하고나서 두개의 레코드셋의 상태가 처음에는 둘다 open 이었다가 objRecordSet_temp = nothing , objRecordSet = closed 가 되더군요;; 그래서 위와 같은 오류가 나고요 분명 byval 인데;; 왜그럴까요? ^^; 고견 주시면 감사 하겠습니다. ( ^.^) ◆소스 Function Rs_fieldName(ByVal objRecordSet , maxLength) Dim Field , tempStr , i , j , k If maxLength = false Then Exit function End if tempStr = "" Dim objRecordSet_temp Set objRecordSet_temp = objRecordSet Do Until objRecordSet_temp Is nothing i = 0 : j = 0 : k = 0 tempStr = tempStr &"<table border=1><tr>" For Each Field in objRecordSet_temp.Fields tempStr = tempStr &"<td><b>"& Field.name &" <br><font color=red>"& i &"열</font></b></td>" i = i + 1 Next tempStr = tempStr &"</tr>" If objState(objRecordSet_temp.State) = "adStateClosed" Then tempStr = tempStr &"</table>" Rs_fieldName = tempStr Exit function End if If objRecordSet_temp.Eof OR objRecordSet_temp.Bof Then tempStr = tempStr &"<tr><td colspan="& i &"><b>결과없음</b></td></tr>" Else Do Until objRecordSet_temp.Eof tempStr = tempStr &"<tr>" For Each Field in objRecordSet_temp.Fields tempStr = tempStr &"<td valign=top><font color=orange>"& j &"행 "& k &"열</font><br><br>"& Field &"</td>" k = k + 1 next tempStr = tempStr &"</tr>" objRecordSet_temp.MoveNext j = j + 1 k = 0 If isNumeric(maxLength) Then If Cint(j) = Cint(maxLength) Then Exit do End if Loop objRecordSet_temp.MoveFirst End if tempStr = tempStr &"</table><br><br>" Set objRecordSet_temp = objRecordSet_temp.NextRecordset Loop Rs_fieldName = tempStr End function |
IP 주소: 211.234.44.234
|
전체 2,095 건의 게시물,
84 페이지로 구성된
ASP, ASP.NET, IIS & Script 게시판의
1 페이지입니다.
게시물 | ||||
---|---|---|---|---|
2,208 | 2011-05-25 | 11,782 | ||
2,207 | 2011-05-27 | 5,539 | ||
2,206 |
이석환 |
2011-05-20 | 124 | |
2,205 | 2011-05-23 | 5,386 | ||
2,204 |
이석환 |
2011-05-17 | 130 | |
2,203 | 2011-05-17 | 5,195 | ||
2,202 |
동영상 탑재 사이트 구축 [1] |
2011-05-12 | 5,064 | |
2,201 | 2011-05-12 | 5,002 | ||
2,200 | 2011-04-24 | 5,315 | ||
2,199 | 2011-04-25 | 4,904 | ||
2,197 |
김종식 |
2011-03-30 | 228 | |
2,196 | 2011-03-31 | 5,006 | ||
2,195 |
gosuzzang |
2011-03-23 | 290 | |
2,194 | 2011-03-24 | 5,441 | ||
2,193 |
이석환 |
2011-03-23 | 253 | |
2,192 | 2011-03-24 | 5,363 | ||
2,191 |
이석환 |
2011-03-18 | 345 | |
2,190 | 2011-03-19 | 5,708 | ||
2,189 | 2011-03-21 | 5,018 | ||
2,188 |
이석환 |
2011-03-21 | 258 | |
2,187 | 2011-03-21 | 5,458 | ||
2,186 |
질문 |
2011-03-18 | 311 | |
2,185 | 2011-03-18 | 7,398 | ||
2,184 |
이석환 |
2011-03-11 | 345 | |
2,183 | 2011-03-14 | 8,433 |