Я пытаюсь обновить свои данные на Xamarin. Android с использованием веб-сервисов. Когда я пробовал веб-службу в браузере, данные обновляются в SQL Server и показывают сообщение Учетная запись успешно обновляется Но когда я связываю веб-службу в xamarin.android. Сообщение показывает ** Учетная запись не существует ** Можете ли вы помочь мне исправить мой код, пожалуйста!
Я также пытался использовать Web API, но вместо этого данные не обновляются, отображается ошибка Внутренняя ошибка сервера
Веб-сервис
[WebMethod(MessageName = "PUT")]
[System.Xml.Serialization.XmlInclude(typeof(ReturnData))]
public ReturnData PUT(string FullName, string Gender, string ICNo, string Address,
string PhoneNo, string Email, string Username, string Password, string PayMethod)
{
int IsAdded = 1;
string Message = "";
// check if this account is already created
Users myUsers = new Users();
if (myUsers.IsAvailable(Username, Email) == 0)
{
IsAdded = 0;
Message = "Account is not exist";
}
else
{
//saving into db
SqlConnection conn = new SqlConnection(new DBConnection().ConnectionString);
try
{
SqlCommand cmd = new SqlCommand("UPDATE pmsVehicleRecord SET clFullName=@fullName, clGender=@gen, clICNo=@ic, clAddress=@address, clPhoneNo=@phoneNo, clEmail=@email, clPwd=@pwd, clPaymentMethod=@payMethod WHERE clUsername=@username");
cmd.Parameters.AddWithValue("fullName", FullName);
cmd.Parameters.AddWithValue("gen", Gender);
cmd.Parameters.AddWithValue("ic", ICNo);
cmd.Parameters.AddWithValue("address", Address);
cmd.Parameters.AddWithValue("phoneNo", PhoneNo);
cmd.Parameters.AddWithValue("email", Email);
cmd.Parameters.AddWithValue("username", Username);
cmd.Parameters.AddWithValue("pwd", Password);
cmd.Parameters.AddWithValue("payMethod", PayMethod);
cmd.Connection = conn;
if (conn.State == System.Data.ConnectionState.Closed)
conn.Open();
SqlDataReader ds = cmd.ExecuteReader();
Message = "Account is successfully updated";
}
catch (Exception ex)
{
IsAdded = 0;
Message = ex.Message;
}
}
ReturnData rt = new ReturnData();
rt.Message = Message;
rt.lstIndex = IsAdded;
return rt;
}
public class Users
{
public int IsAvailable(string UserName, string Email)
{
//Result result = new WebAppTest.Result();
int lstIndex = 0;
SqlConnection conn = new SqlConnection(new DBConnection().ConnectionString);
try
{
SqlDataReader reader;
{
SqlCommand cmd = new SqlCommand("SELECT lstIndex FROM pmsVehicleRecord WHERE clUsername=@username AND clEmail=@email");
cmd.Parameters.AddWithValue("username", UserName);
cmd.Parameters.AddWithValue("email", Email);
cmd.Connection = conn;
if (conn.State == System.Data.ConnectionState.Closed)
conn.Open();
reader = cmd.ExecuteReader();
while (reader.Read())
{
lstIndex = reader.GetInt32(0);
}
}
}
catch (Exception ex)
{
}
return lstIndex;
}
}
private void BtnSave_Click(object sender, EventArgs e)
{
EditText username = FindViewById<EditText>(Resource.Id.txtUsername);
EditText fullName = FindViewById<EditText>(Resource.Id.txtFullName);
EditText gender = FindViewById<EditText>(Resource.Id.txtGender);
EditText icNo = FindViewById<EditText>(Resource.Id.txtICNo);
EditText address = FindViewById<EditText>(Resource.Id.txtAddress);
EditText phoneNo = FindViewById<EditText>(Resource.Id.txtPhoneNo);
EditText email = FindViewById<EditText>(Resource.Id.txtEmail);
EditText password = FindViewById<EditText>(Resource.Id.txtPwd);
EditText payMethod = FindViewById<EditText>(Resource.Id.txtPayMethod);
PUTWebRef.WebServicePMS webserUpdate = new PUTWebRef.WebServicePMS();
webserUpdate.PUTAsync(username.Text, fullName.Text, gender.Text, icNo.Text, address.Text, phoneNo.Text, email.Text, password.Text, payMethod.Text);
webserUpdate.PUTCompleted += WebserUpdate_PUTCompleted;
}
private void WebserUpdate_PUTCompleted(object sender, PUTWebRef.PUTCompletedEventArgs e)
{
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
AlertDialog alert = dialog.Create();
alert.SetTitle("Error");
alert.SetMessage(e.Result.Message);
alert.SetButton("Ok", (c, ev) =>
{ });
alert.Show();
}
Ожидаемый результат должен быть Аккаунт успешно обновлен .
Фактический результат - Учетная запись не существует