연결 execute () :
데이터베이스에서 데이터를 검색하려면 레코드 세트를 사용하는 것 외에는 선택의 여지가 없습니다. 그러나 데이터를 추가, 업데이트 및 삭제하기 위해 반드시 레코드 세트가 필요하지는 않습니다. 그것은 당신에게 달려 있습니다.
추가, 업데이트 및 삭제를 위해 Execute () 메소드를 사용하여 레코드 세트를 피할 수 있습니다.
시작 :
아래는 레슨 19의 스크립트입니다.
<%@language = "javaScript"%> var strconnect = "provider = microsoft.jet.oleedb.4.0; data source ="strconnect + = server.mappath ( "// gop") + "//datastores//gop.mdb;-- 메타 데이터 유형 ="typelib "file/program 파일/일반 파일/시스템 파일/시스템 파일" -> <html> <head> <title> 관리자 페이지 -메일 링리스트 변경 </title> </head> <body link = "red"vlink = "red"alink = "crimson"> <h2> 관리자 페이지 </h2> <h3> 메일 목록 변경 </h3> <%if ( "request.form ("delete ")>" "var sql =" ""{var sql = " request.form ( "id") + ";"} else {var firstName = new String (request.form ( "firstName")) var lastName = new String (request.form ( "lastName")) var address = new String ( "jesction ("addr '' '); lastName = lastName.replace (myRegexp,' '); address = jand sql + = city + " ', state =' + request.form ("state ") +", zip = ' ""sql + = request.form ( "zip") + "'where id =" + request.form ( "id") + ";"} var objconn = server.createobject ( "adodb.connection"); objconn.open (strconnect) objconn.execute (sql) objconn.close () objconn = null; respone.write ( "멤버가 데이터베이스에서 업데이트되었습니다.") 응답 ( "<a. href =/"../ files/committee.asp/"> ") response.write ("보려면 여기를 클릭하십시오. </a> ")%>이것을 실제로 볼 수있는 링크는 없습니다. 보안상의 이유로 그렇게했습니다. 몇 가지 하이라이트를 지적하고 싶습니다.
단일 인용문의 위험 :
단일 견적 표시를 HTML 인코딩 된 동등한 것으로 바꾸는 것을 알 수 있습니다. 다음 코드를 사용하여했습니다.
var myRegexp = /[ '] /g; firstName = firstName.replace (myRegexp,' ');
단일 견적은 ASP 응용 프로그램을 사용하여 데이터베이스에 입력 할 수없는 유일한 문자입니다. 다른 모든 것은 공정한 게임입니다. 모든 단일 따옴표를 교체하지 않고 사용자로부터 데이터베이스에 텍스트를받지 마십시오. 유추를 사용하기 위해 단일 인용문은 전체 데이터베이스를 열 수있는 키와 같습니다. 누군가가 단일 따옴표를 입력 할 수있게하면 해커는 응용 프로그램을 파쇄 할 수 있습니다.
실행하다( ):
내가 시간을 보내고 싶은 유일한 것은