2010-12-20 4 views
0

SQL 문에서 프롬프트 필드에 아포스트로피를 처리하려고합니다. 아래 예 :WHERE 절의 프롬프트에서 MS SQL apotrophe

WHERE [email protected] 

문제는 '예. 그러므로 우드의 SQL은 ''이있는 주소를 제외한 다른 모든 주소에서 작동합니다.

replace(@promptfromuser,"'","''")을 사용해 보았지만 오류가 계속 발생했습니다 (오른쪽 '이 없습니다). propertyfieldintable은 텍스트 필드이므로 프롬프트에서 텍스트 입력이 필요하다고 가정합니다.

쿼리가 데이터베이스 자체에는 없지만보고 도구 안에 있으므로 기능을 사용할 수 없으므로 직접적인 제안은 감사하겠습니다.

+0

아포스트로피가 매개 변수를 허용하는 REPLACE 사용하지 않고. 무엇입니까 귀하의 정확한 errormessage? – Alex

+0

정말 paramaterised SQL을 사용해야 ...이 stackoverflow 질문 읽기 : http://stackoverflow.com/questions/3216233/what-is-passing-parameters-to-sql-and- 왜 - 왜 - 내가 - 그것 -/3216331 –

답변

2

매개 변수를 사용해야합니다.

+2

어쩌면 설명 ... OP 분명히 SQL inje 들어 본 적이 없다 기타 등등 – gbn

0

replace (@promptfromuser,'''', '''''') 

영원히 databasecontext에서 "사용 잊어 버려 대신 다음 문을보십시오. 마이크로 소프트는 [] 식별자에 특수 문자가 포함 된 나타 내기 위해 구문이 있습니다.