Я делаю webmethod в C#. При отладкеравно в C# is true
(chk.Equals(oldpass))
запрос показывает то же значение как с левой, так и с правой стороны.
Но все же, вместо того, чтобы идти внутрь if, выполнение переходит в другую часть, отображающую оператор возврата. Foll. это мой код.
[WebMethod (Description="for change in password")]
public string update(string authenid,string oldpass,string newpass)
{
SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\Workspace\\visual studio workspace\\Tmrepo\\App_Data\\tmrepo.mdf;Integrated Security=True;User Instance=True");
try
{
conn.Open();
string chk = "select pwd from client where authenid = '"+ @authenid +"' ";
if(chk.Equals(oldpass))
{
string update = "update client set [email protected] where [email protected] and [email protected]";
SqlCommand cmd = new SqlCommand(update, conn);
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@authenid", authenid);
cmd.Parameters.AddWithValue("@oldpass", oldpass);
cmd.Parameters.AddWithValue("@newpass", newpass);
cmd.ExecuteNonQuery();
}
else
{
return "invalid oldpass";
}
conn.Close();
return newpass;
}
catch (Exception ex)
{
return ex.ToString();
}
}
В этом коде не так ли? Я новичок C#. Спасибо.
где код для извлечения пароля в первую очередь? –
- это 'oldpass' также запрос? где он установлен? –
отправлен код ошибки ... – Shachi