복붙노트

[SQL] 어떻게 안전 SQL 문자열로 문자열을 변환합니까?

SQL

어떻게 안전 SQL 문자열로 문자열을 변환합니까?

나는 텍스트 파일의 무리에서 일부 SQL 삽입 문을 생성하고 있습니다.

이 텍스트 파일은 일반적으로 사용자가 입력 한 데이터이다. 나는 삽입 문을 중단하지 않을 것 때문에이 데이터를 소독하고 싶습니다.

예를 들어, 입력 데이터의 일부 사람들은 말 할 일을하지 사용했다. 은 " '"의 문자열이 종료되므로 오류 원인이 있다고 생각하는 SQL 문을 이끌 것입니다하지 않습니다.

나는 모든 중 하나를 이스케이프 코드 또는 안전 문자 이러한 문자 변환의 종류에 호출 할 수있는 모든 .NET 방법이 있습니까?

해결법

  1. ==============================

    1.당신의 문자열을 소독하지 마십시오. 그들은 모두 위생 처리로 사용하는 대신 쿼리를 매개 변수화.

    당신의 문자열을 소독하지 마십시오. 그들은 모두 위생 처리로 사용하는 대신 쿼리를 매개 변수화.

    나는 그것이 MS SQL 서버 가정, 그래서 당신은 당신이 사용하고있는 데이터베이스를 지정하지 않습니다. Microsoft는이에 대한 공식 ASP.net 웹 사이트에 대한 기사가있다. 또한 SqlCommand.Parameters 및 방법에 관한 AddWithValue MSDN 참조.

  2. ==============================

    2.ANSI 0x27에를, 작은 따옴표 일명 : 당신은 탈출해야 할 단 하나의 문자가있다 :

    ANSI 0x27에를, 작은 따옴표 일명 : 당신은 탈출해야 할 단 하나의 문자가있다 :

    safeString = unsafeString.Replace("'","''");
    
  3. from https://stackoverflow.com/questions/5528972/how-do-i-convert-a-string-into-safe-sql-string by cc-by-sa and MIT license