2017-09-18 4 views
0

SQL 서버 로그인의 암호를 변경하려고하지만 암호가 변경되지 않습니다. 이것은 내가 무엇을 가지고 :ASP.NET에서 MS SQL 로그인 암호 변경

SqlCommand query = new SqlCommand("ALTER LOGIN @login WITH PASSWORD = '@Pwd'", con); 
query.Parameters.Add("@login", SqlDbType.NVarChar, 60).Value = login; 
query.Parameters.Add("@Pwd", SqlDbType.NVarChar, 20).Value = _newPwds[login]; 
query.Prepare(); 
query.BeginExecuteNonQuery(); 

내가 다시 SQL Server 또는 디버깅에서 오류 메시지를 얻을 수없는 (또는 내가 그들을 얻을하는 방법을 모른다). 연결이 올 바르며 서버의 암호 변경 권한 (응용 프로그램이 통합 보안으로 실행 중입니다)이 있습니다.

도움 주셔서 감사합니다.

+0

@mason 감사합니다. 몰랐습니다. 나는 그것을 바꿨고 지금은 "Incorrect Syntax near '@login'"을 얻는다. –

+0

alter login 문과 함께 매개 변수를 사용하는 예는 [이 질문] (https://stackoverflow.com/questions/14858034/how-to-change-a-sql-login-password-with-variables)을 참조하십시오. – mason

+0

@mason 감사합니다! 나는 그것을 목요일에 시험 할 것이지만 이것이 가능할 것이라고 나는 생각한다. 이 질문을 답안에 추가 할 수 있습니까? 그런 다음 테스트를 마친 후 올바른 답으로 표시합니다. –

답변

1

쿼리를 실행하기 위해 비동기 메서드 BeginExecuteNonQuery을 사용하고 있으므로 캡처하지 않았습니다.

query.ExecuteNonQuery(); 

을 플러스 당신은 this question를 참조은 ALTER 로그인 문에서 매개 변수를 사용할 수 없습니다 : 당신은 아마 비동기를 가고 싶지 않았다 감안할 때, 대신 ExecuteNonQuery를 사용해보십시오.