ActiveConnection, CommandText, CommandTimeout, CommandType, Size, Direction 속성 예제(JScript)
이 예제에서는 ActiveConnection, CommandText, CommandTimeout, CommandType, Size, Direction 속성을 사용하여 저장 프로시저를 실행합니다. 다음 코드를 잘라내어 메모장 또는 다른 텍스트 편집기로 붙여넣고 ActiveConnectionJS.asp로 저장합니다.
<!-- BeginActiveConnectionJS -->
<%@LANGUAGE="JScript"%>
<%// use this meta tag instead of adojavas.inc%>
<!--METADATA TYPE="typelib" uuid="00000205-0000-0010-8000-00AA006D2EA4" -->
<html>
<head>
<title>ActiveConnection, CommandText, CommandTimeout, CommandType, Size, and Direction Properties</title>
<style>
<!--
BODY {
font-family: 'Verdana','Arial','Helvetica',sans-serif;
BACKGROUND-COLOR:white;
COLOR:black;
}
.thead {
background-color: #008080;
font-family: 'Verdana','Arial','Helvetica',sans-serif;
font-size: x-small;
color: white;
}
.thead2 {
background-color: #800000;
font-family: 'Verdana','Arial','Helvetica',sans-serif;
font-size: x-small;
color: white;
}
.tbody {
text-align: center;
background-color: #f7efde;
font-family: 'Verdana','Arial','Helvetica',sans-serif;
font-size: x-small;
}
-->
</style>
</head>
<body bgcolor="White">
<%
var iRoyalty = parseInt(Request.Form("RoyaltyValue"));
// check user input
if (iRoyalty > -1)
{
// connection and recordset variables
var Cnxn = Server.CreateObject("ADODB.Connection")
var strCnxn = "Provider='sqloledb';Data Source=" + Request.ServerVariables("SERVER_NAME") + ";" +
"Initial Catalog='pubs';Integrated Security='SSPI';";
var cmdByRoyalty = Server.CreateObject("ADODB.Command");
var rsByRoyalty = Server.CreateObject("ADODB.Recordset");
var rsAuthor = Server.CreateObject("ADODB.Recordset");
// display variables
var filter, strMessage;
try
{
// open connection
Cnxn.Open(strCnxn);
cmdByRoyalty.CommandText = "byroyalty";
cmdByRoyalty.CommandType = adCmdStoredProc;
cmdByRoyalty.CommandTimeOut = 15;
// The stored procedure called above is as follows:
// CREATE PROCEDURE byroyalty
// @percentage int
// AS
// SELECT au_id from titleauthor
// WHERE titleauthor.royaltyper = @percentage
// GO
prmByRoyalty = Server.CreateObject("ADODB.Parameter");
prmByRoyalty.Type = adInteger;
prmByRoyalty.Size = 3;
prmByRoyalty.Direction = adParamInput;
prmByRoyalty.Value = iRoyalty;
cmdByRoyalty.Parameters.Append(prmByRoyalty);
cmdByRoyalty.ActiveConnection = Cnxn;
// recordset by Command - Execute
rsByRoyalty = cmdByRoyalty.Execute();
// recordset by Recordset - Open
rsAuthor.Open("Authors", Cnxn);
while (!rsByRoyalty.EOF)
{
// set filter
filter = "au_id='" + rsByRoyalty("au_id")
rsAuthor.Filter = filter + "'";
// start new line
strMessage = "<P>";
// get data
strMessage += rsAuthor("au_fname") + " ";
strMessage += rsAuthor("au_lname") + " ";
// end line
strMessage += "</P>";
// show data
Response.Write(strMessage);
// get next record
rsByRoyalty.MoveNext;
}
}
catch (e)
{
Response.Write(e.message);
}
finally
{
// clean up
if (rsByRoyalty.State == adStateOpen)
rsByRoyalty.Close;
if (rsAuthor.State == adStateOpen)
rsAuthor.Close;
if (Cnxn.State == adStateOpen)
Cnxn.Close;
rsByRoyalty = null;
rsAuthor = null;
Cnxn = null;
}
}
%>
<hr>
<form method="POST" action="ActiveConnectionJS.asp">
<p align="left">Enter royalty percentage to find (e.g., 40): <input type="text" name="RoyaltyValue" size="5"></p>
<p align="left"><input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>
</form>
</body>
</html>
<!-- EndActiveConnectionJS -->
참고 항목
ActiveCommand 속성(ADO)
명령 개체(ADO)
CommandText 속성(ADO)
CommandTimeout 속성(ADO)
CommandType 속성(ADO)
연결 개체(ADO)
Direction 속성
Parameter 개체
레코드 개체(ADO)
레코드 집합 개체(ADO)
Size 속성(ADO 매개 변수)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기