C#을 사용하여 DB에서 값을 읽으려고합니다. 쿼리 문자열에 여러 개의 작은 따옴표 (예 : Esca'pes)가 포함되어 있습니다 (쿼리 문자열은 텍스트 파일에서 읽음)모든 작은 따옴표를 문자열의 두 개의 작은 따옴표로 바꾸십시오.
그래서 SQL을 작성하기 전에 모든 작은 따옴표를 두 개의 작은 따옴표로 바꾸고 싶습니다. 질문. 내 코드는 다음과 같습니다.
if (name.Contains('\''))
{
name = name.Replace('\'','\''');
}
해결 방법? 두 개의 문자로 단일 문자를 대체 할 때문에
어떻게 수정합니까? 오류가 있습니까? 또한 SQL 주입을 막는 것이 목표라면 매개 변수가있는 쿼리를 사용하는 것이 더 나을 것이라고 생각합니다. – Mansfield
'name.Replace (" '", "' '")'아마도 당신이 쫓고있는 것입니까? – sybkar
다른 사람들도 언급했듯이, DBMS 세계에서 누군가가 잠재적으로 "매개 변수"에 값을 전달할 수 있기 때문에 DBMS에서 실행하지 못하도록하려는 쿼리를 실행하여 잠재적으로 손상 될 수 있으므로 귀하의 시스템. Google에서 "SQL 인젝션"을 검색하면이 문제가 어떻게 진행되는지에 대한 자세한 정보를 얻을 수 있으며,이 조언을 따르지 않으면 어떻게하면 가장 좋은 Sony 소규모 플레이 스테이션 네트워크 해킹보다 더 뒤로 물러날 수 있습니다. – shaunhusain