내 프로그램 전체에 걸쳐 다양한 장소에 50 개 정도의 텍스트 상자가있을 수 있습니다. 작은 따옴표를 (이 경우 '-> \')와 바꾸는 방법을 알고 있지만 모든 텍스트 상자 하나 하나에 특정 코드를 추가하는 것보다 더 좋은 방법이 있어야한다고 생각합니다. 나는이 일을해야 할 때이 물건을 데이터베이스에 보내지고, 작은 따옴표가 있다면, 그것은 오류가 발생합니다. 프로그램의 모든 텍스트 상자가 자동으로 모든 작은 따옴표를 \ '로 바꾸도록 기본 TextBox 컨트롤 동작을 변경하는 방법이 있습니까?내 프로그램의 모든 텍스트 상자에서 '와 함께 '바꾸기
편집 :
string statement = "select count(*) from users where username='@username'";
MySqlCommand command = new MySqlCommand(statement, conn);
command.Parameters.AddWithValue("@username", username);
if (Convert.ToInt32(command.ExecuteScalar()) == 1)
나는 paramerterized 코드를 연주하고 이것이 내가 지금 가지고있는 것입니다. 내가 이해하는 방법에서 명령문 문자열은 기본적으로 이전과 동일하지만 변수 "username"을 사용하는 곳에서는 @username이라는 매개 변수를 사용한다는 것을 알고 명령이 생성됩니다. 그런 다음 parameters.addwithvalue에서 사용자 이름 매개 변수를 username 변수에있는 값으로 바꿉니다. 불행히도, 이것은 나를 위해 작동하지 않습니다, 그리고 난 정말 사용자 이름은 여전히 명령에 갇혀지고 있기 때문에 도움이 어떻게 볼 수 없어?
편집 : 문에 당신이해야한다 '주위 @username'너무
작은 따옴표를 넣을 필요가없는 문제를 찾았습니다
string statement = "select count(*) from users where [email protected]";
내 게시물을 편집했습니다. 다시보실 수 있습니까? 이 주석에 코드를 효과적으로 게시하는 방법을 잘 모르겠습니다. – zack
고맙습니다. 당신은 나를 도와 준 톤 : D – zack
괜찮습니다. 이러한 변화를 통해 막대한 보안 취약성을 제거했습니다. – cdhowie