게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
레코드셋 문제때문에 질문 올립니다. ^^;; |
---|
작성자: 장윤태
작성일시: 2007-05-15 18:40,
조회수: 37,621
|
아래거는 디버깅용 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 게시판의
19 페이지입니다.
게시물 | ||||
---|---|---|---|---|
1,693 | 2007-08-06 | 6,226 | ||
1,692 | 2007-08-06 | 4,257 | ||
1,691 |
초짜 |
2007-07-03 | 1,435 | |
1,690 | 2007-07-04 | 3,690 | ||
1,688 |
초짜 |
2007-07-03 | 1,263 | |
1,687 | 2007-07-03 | 3,569 | ||
1,686 |
장윤태 |
2007-06-27 | 4,466 | |
1,685 | 2007-06-27 | 3,921 | ||
1,684 |
장윤태 |
2007-06-28 | 1,384 | |
1,681 |
장윤태 |
2007-06-21 | 1,276 | |
1,680 | 2007-06-22 | 3,626 | ||
1,679 |
지푸라기 |
2007-06-15 | 1,324 | |
1,678 | 2007-06-15 | 3,747 | ||
1,677 |
장윤태 |
2007-06-14 | 1,974 | |
1,676 | 2007-06-14 | 4,295 | ||
1,675 |
정진범 |
2007-06-13 | 1,499 | |
1,674 | 2007-06-13 | 3,804 | ||
1,673 |
이석호 |
2007-06-13 | 1,290 | |
1,672 | 2007-06-13 | 3,752 | ||
1,671 | 2007-05-28 | 11,675 | ||
1,670 | 2007-05-28 | 4,014 | ||
1,669 | 2007-05-18 | 3,814 | ||
1,668 | 2007-05-19 | 4,384 | ||
1,667 | 2007-05-20 | 4,526 | ||
2007-05-15 | 37,621 |