저장된 절차를 호출하는 ASP를 배울 때 종종 몇 가지 문제를 반영합니까? 예를 들어, 저장된 절차를 호출하는 방법을 작동하는 방법은 무엇입니까? 저장된 절차 등으로 전달되는 매개 변수는 무엇입니까? 오늘날, 버그의 새로운 기술 채널은 이러한 지식을 배우기 위해 다음 기사로 안내합니다. 나는 그것이 당신의 학습에 도움이되기를 바랍니다!
1. 저장된 절차를 호출하는 일반적인 방법
먼저 SQL 서버에 저장된 프로 시저 DT_USERS가 있다고 가정 해 봅시다.
프로 시저 작성 [DBO]. [DT_USERS]
처럼
사용자에서 *를 선택하십시오
반품
가다
첫 번째 방법은 명령 개체를 사용하지 않고 RecordSet 객체를 사용하는 것입니다.
set rs = server.createobject ( "adodb.recordset")
sql = "exec dt_users"
Rs. Open SQL, Conn, 1,1
두 번째 방법은 명령 개체를 사용하는 것입니다
comm = server.createobject ( "adodb.command")
comm.commantype = 4
comm.activeconnection = conn을 설정하십시오
comm.commandtext = "dbo.dt_users"
set rs = server.createobject ( "adodb.recordset")
Rs. Open Comm, 1,1
2. 매개 변수를 저장 프로 시저로 전달합니다
저장된 절차에 매개 변수가 없지만 단일 SQL 문이있는 경우, 저장된 절차의 장점은 표시 될 수 없습니다!
예를 들어, 저자와 주제에 의해 BBS 쿼리를 쿼리 할 수 있습니다! 그런 다음 저장 절차는 다음과 같이 설정할 수 있습니다.
매개 변수 키워드는 키워드이며 선택은 쿼리를 선택하는 메소드입니다.
프로 시저 작성 [DBO]. [DT_BBS]
@keyword varchar (20) = null,
@choose int = null
~처럼
@를 선택하면 = 1
@keyword와 같은 이름이있는 BBS에서 *를 선택하십시오
또 다른
@keyword와 같은 주제에서 BBS에서 *를 선택하십시오
반품
가다
이런 식으로 저장 프로 시저를 호출하면 매개 변수를 전달하고 ASP에서 프로그램 작성을 생략하면됩니다.
첫 번째 방법을 사용하십시오.
set rs = server.createobject ( "adodb.recordset")
sql = "exec dt_bbs '"& keyword & "',"& 선택 & ""
Rs. Open SQL, Conn, 1,1
두 번째 방법을 사용하십시오.
comm = server.createobject ( "adodb.command")
comm.commantype = 4
comm.parameters.append comm.CreateParameter ( "@keyword", adchar, adparaminput, 50, 키워드)
comm.parameters.append comm.CreateParameter ( "@keyword", Adinteger, Adparaminput, 선택)
comm.activeconnection = conn을 설정하십시오
comm.commandText = "dbo.dt_bbs"
set rs = server.createobject ( "adodb.recordset")
rs.cursortype = 3
Rs. Open Comm, 1,1
3. 추가 토론
위에서 언급 한 두 가지 방법을 ASP에서 저장된 절차를 호출하기 위해
첫 번째 방법에는 더 적은 객체가 필요하지만 RecordSet 객체는 Rs.RecordCount, Rs.PageCount, Rs.AbsolutePage 및 기타 속성과 같은 속성이 훨씬 적습니다.
그들 중 누구도 그것을지지하지 않으므로 첫 번째 방법을 사용하는 데 제한이 있습니다. 예를 들어, 페이지에 레코드를 표시하려면 두 번째 방법을 사용해야합니다.
SQL Server에서 저장된 절차를 사용하는 목적은 속도를 높이는 것이지만 저장 프로 시저에 많은 SQL 문이 있으면 특히 장점이 분명합니다. SQL 문이 많지 않은 경우
두 번째 방법을 사용하면 추가 명령 객체를 만들어야합니다. 따라서 저장된 절차를 사용하려면 모든 측면의 이익의 균형을 맞춰야합니다.
그러나 나는 속도가 너무 좋다고 생각합니다. 저장된 절차를 사용하면 프로그램을보다 모듈화하고 쉽게 수정하고 디버그 할 수 있습니다 (IE에서 ASP 결과를 보지 않고도 SQL Server에서 직접 디버그 할 수 있음).
위는 ASP 통화에 대한 저장 절차에 대한 소개입니다. 이 지식을 배우는 것이 도움이되기를 바랍니다. 또한 모든 사람이 잘못된 새로운 기술 채널을 계속 지원하기를 바랍니다.