2012-01-16 1 views
0

, 나는 다음과 같은 구문을 사용하고 클래식 ASP에서 매개 변수가있는 쿼리를 작성하는 경우 :클래식 ASP/매개 변수화 된 전체 텍스트 쿼리

Set cmdConn = Server.CreateObject("ADODB.Command") 
Set cmdConn.ActiveConnection = Conn 
cmdConn.Prepared = True 

SQL = " INSERT INTO myTable (column1, column2, column3) VALUES (?, ?, ?); " 

Set newParameter = cmdConn.CreateParameter("@column1", ad_Integer, ad_ParamInput, Len(input1), input1) 
cmdConn.Parameters.Append newParameter 
Set newParameter = cmdConn.CreateParameter("@column2", ad_Integer, ad_ParamInput, Len(input2), input2) 
cmdConn.Parameters.Append newParameter 
Set newParameter = cmdConn.CreateParameter("@column3", ad_Integer, ad_ParamInput, Len(input3), input3) 
cmdConn.Parameters.Append newParameter 

cmdConn.CommandText = SQL 
cmdConn.Execute 

그리고 난 이해 해요 (독학) 것을 내가 사용 @column1 새 매개 변수를 추가 할 때이 매개 변수는 해당 특정 열에 매개 변수를 할당합니다. 나는 틀린 tho 일 수 있었다. 전체 텍스트 쿼리를 작성하려고 할 때이 때문에 완전히 혼란스러워졌습니다.

이 내 원래의 전체 텍스트 쿼리입니다 :

SQL = "SELECT * FROM myTable WHERE MATCH (column1, column2, column3) AGAINST ('"&input&"' IN BOOLEAN MODE)" 

누군가가이 쿼리에 대해 어떤 구문을 사용하는 나에게 보여 주시겠습니까?

나는 SQL은 다음과 같이 보일 것 상상 :

SQL = "SELECT * FROM myTable WHERE MATCH (column1, column2, column3) AGAINST (? IN BOOLEAN MODE)" 

그러나 newParameter 문자열 무엇을 넣어 확실하지합니다. 감사와 도움을 준 도움과 설명.

답변

1

"@columnN"은 해당 매개 변수의 이름이며 columnN과 관련이 없습니다. 이 필드는 선택 사항이므로 참조 할 때 이름을 사용하지 않을 경우 모든 매개 변수에 대해 지정되지 않을 수 있습니다.

매개 변수 컬렉션에 추가 된 순서로 매개 변수를 참조하는 대신 출력 및 입력/출력 매개 변수 값을 Command 개체에서 검색하는 데 사용할 수 있습니다. I 일부 DBMS도 쿼리 문자열에서 명명 된 매개 변수를 사용하는 대신 지원합니까? (읽기 쉬운, 아마도).

는 정말 도움이 그것에 대해

Set newParameter = cmdConn.CreateParameter(, adInteger, adParamInput, Len(input), input) 
cmdConn.Parameters.Append newParameter 
+0

감사, 특정 질문에 대답합니다. 이 질문은 나에게 몇 가지 더 질문 할 것이지만 나는 당신을 괴롭히기보다는 새로운 것을 시작할 것입니다. 건배 – TheCarver

관련 문제