Android - SQL Server连接错误

时间:2012-05-30 16:57:51

标签: android sql-server wcf

我是Android的新手,但现在几天在Android中做了更多的编码。现在我有一个疑问。我使用Android和SQL Lte创建了android数据库应用程序。但SQL Lite是客户端站点数据库。但现在我的要求是,我想要一个像SQL Server这样的数据库,以便将我的应用程序连接到SQL Server。所以,考虑和例子,我知道WCF。我创建了一个WCF服务,其功能如下: 我在IIS上托管了WCF因为android没有响应localhost,所以我在IIS上托管了WCF

Public string check(string username,string password)

{

 SQLConnection con=new SQLConnection("Data Source=.;Database=test;Integrated Security=true");

 SQLDataAdapeter ad=new SQLDataAdapter("select * from table where usrename='"+username+"'and password='"+password+"'");

 Dataset ds=new Dataset();

 ad.fill(ds,"table");

if(ds.Tables[0].Rows.Count>0)
 {
  return "true";
 }
else
{
 return "false";
}

}

我在本地主机中托管了WCF,以便我可以在My Android Application编码中使用此服务。

就像:

HttpGet httpGet=new HttpGet("http://192.168.1.111:8083/Service1.svc/checkLogin?username="+UserName+"&password="+Password);

        //Get the response
        HttpResponse httpResponse = httpClient.execute(httpGet);
        HttpEntity httpEntity = httpResponse.getEntity();
        InputStream stream=httpEntity.getContent();

然而,虽然代码是正确的,但我没有得到任何httpEntity。 我接受这个实体并希望通过使用如下函数将其转换为字符串:

public static String convertStreamToString(InputStream is)
{
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    }
    catch (IOException e) {
        e.printStackTrace();
    }
    finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}

但是,它不返回任何字符串值,调试器继续捕获点。 那么我该怎样做才能从WCF获得字符串格式的结果?

1 个答案:

答案 0 :(得分:0)

根据以上代码,我不确定如何正确地看待移动客户端应用,WCF和SQL Server。基本设计是WCF服务将在内部与SQL Azure通信并为您的数据收集数据。您的移动客户端将以暴露的方法连接到WCF服务,该方法将数据传递给移动客户端。我在上面的描述或代码片段中没有看到该架构。

我建议您使用oData WCF数据服务将任何移动应用程序连接到SQL Server。 OData服务是连接内部部署SQL Server或基于云的RDBMS(即SQL Azure)的快速简便方法。

article解释了如何逐步完成,所以我建议您尝试一下,如果您遇到任何问题,请发布到SO,我们一定会帮到您:

大多数Android开发人员实际上更喜欢使用JSON的WCF从Android连接到SQL Server / Azure,因此您也可以查看here