2017-09-18 2 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ありがとう、それを知らなかった。私はそれを変更し、今は "@login 'の近くに" Incorrect Syntax "という文法があります。 –

+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 LOGIN文でパラメータを使用することはできません:あなたはおそらく、非同期に行きたい代わりにExecuteNonQueryを使用しようとしなかった与えられました。

関連する問題