我是stackoverflow的新手,但我总能从其他人的问题中找到我需要的答案。这次,我没有运气。
我正在开发一个与.NET Web服务通信的android应用程序。代码似乎很好,但我确信有些问题是错误的,因为结果不是我需要的。
我在下面的网络服务中有一个登录方法。
[WebMethod]
public String login(String username, String password)
{
SqlConnection conn = null;
DataSet dataset = null;
SqlDataAdapter adapter = null; ;
try
{
conn = new SqlConnection("Server=localhost; Database=Senior; Trusted_Connection=True");
dataset = new DataSet();
adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand();
adapter.SelectCommand.Connection = conn;
adapter.SelectCommand.CommandText = "SELECT Username, Password FROM Employee";
adapter.Fill(dataset, "employees");
String user, pass;
for (int i = 0; i < dataset.Tables["employees"].Rows.Count; i++)
{
user = dataset.Tables["employees"].Rows[i]["Username"].ToString();
pass = dataset.Tables["employees"].Rows[i]["Password"].ToString();
if (user == username && pass == password)
return "Login Successful";
}
}
catch (Exception ex)
{
}
adapter.Dispose();
conn.Close();
return "Login Failed"
}
我还有一个允许与我的网络服务进行肥皂交流的课程。
调用此方法后,调用我的android项目中名为result的方法来解析结果。这是代码:
void result()
{
if (echosoap.myResult != null)
{
String answer = echosoap.myResult.toString();
et1.setText(answer);
if(answer=="Login Successful")
{
Intent intent = new Intent(MainActivity.this, DefaultWindow.class);
startActivity(intent);
}
}
}
但是,此方法始终将et1(An EditText组件)设置为“登录失败”。
我已经在常规(非Web服务)应用程序中测试了我的代码,结果很好。
真正感谢任何帮助。