Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android连接到Azure SQL数据库并选择语句_Android_Mysql_Sql_Sql Server_Azure - Fatal编程技术网

Android连接到Azure SQL数据库并选择语句

Android连接到Azure SQL数据库并选择语句,android,mysql,sql,sql-server,azure,Android,Mysql,Sql,Sql Server,Azure,我正在尝试将android移动应用程序连接到Azure portal上的数据库。下面是我的连接类(显然是Azure连接中的正确字段) 我试图从数据库中的表中读取,如下所示: public class FillList extends AsyncTask<String, String, String> { String z = ""; List<Map<String, String>> prolist = new ArrayList&

我正在尝试将android移动应用程序连接到Azure portal上的数据库。下面是我的连接类(显然是Azure连接中的正确字段)

我试图从数据库中的表中读取,如下所示:

    public class FillList extends AsyncTask<String, String, String> {
    String z = "";

    List<Map<String, String>> prolist  = new ArrayList<Map<String, String>>();

    @Override
    protected void onPreExecute() {

        pbbar.setVisibility(View.VISIBLE);
    }

    @Override
    protected void onPostExecute(String r) {

        pbbar.setVisibility(View.GONE);
        Toast.makeText(AddProducts.this, r, Toast.LENGTH_SHORT).show();

        String[] from = { "A", "B", "C" };
        int[] views = { R.id.lblproid, R.id.lblproname,R.id.lblprodesc };
        final SimpleAdapter ADA = new SimpleAdapter(AddProducts.this,
                prolist, R.layout.lsttemplate, from,
                views);
        lstpro.setAdapter(ADA);


        lstpro.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1,
                                    int arg2, long arg3) {
                HashMap<String, Object> obj = (HashMap<String, Object>) ADA
                        .getItem(arg2);
                proid = (String) obj.get("A");
                String proname = (String) obj.get("B");
                String prodesc = (String) obj.get("C");
                edtprodesc.setText(prodesc);
                edtproname.setText(proname);
           //     qty.setText(qtys);
            }
        });



    }

    @Override
    protected String doInBackground(String... params) {

        try {
            Connection con = connectionClass.CONN();
            if (con == null) {
                z = "Error in connection with SQL server";
            } else {
                String query = "select * from Training";
                PreparedStatement ps = con.prepareStatement(query);
                ResultSet rs = ps.executeQuery();

                ArrayList<String> data1 = new ArrayList<String>();
                while (rs.next()) {
                    Map<String, String> datanum = new HashMap<String, String>();
                    datanum.put("A", rs.getString(1));
                    data1.add(rs.getString(1));
                    datanum.put("B", rs.getString(2));
                    data1.add(rs.getString(2));
                    datanum.put("C", rs.getString(3));
                    prolist.add(datanum);
                }


                z = "Success";
            }
        } catch (Exception ex) {
            z = "Error retrieving data from table";

        }
        return z;
    }
}
公共类填充列表扩展了异步任务{
字符串z=“”;
List prolist=新建ArrayList();
@凌驾
受保护的void onPreExecute(){
pbbar.setVisibility(View.VISIBLE);
}
@凌驾
受保护的void onPostExecute(字符串r){
pbbar.setVisibility(View.GONE);
Toast.makeText(AddProducts.this,r,Toast.LENGTH_SHORT).show();
字符串[]from={“A”、“B”、“C”};
int[]视图={R.id.lblproid,R.id.lblproname,R.id.lblprodesc};
最终SimpleAdapter ADA=新SimpleAdapter(AddProducts.this,
prolist,R.layout.lsttemplate,从,
意见);
lstpro.setAdapter(ADA);
lstpro.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
HashMap obj=(HashMap)ADA
.getItem(arg2);
proid=(字符串)obj.get(“A”);
String proname=(String)obj.get(“B”);
String prodesc=(String)obj.get(“C”);
edtprodesc.setText(prodesc);
edtproname.setText(proname);
//数量设置文本(qtys);
}
});
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
试一试{
Connection con=connectionClass.CONN();
如果(con==null){
z=“与SQL server连接时出错”;
}否则{
String query=“从培训中选择*”;
PreparedStatement ps=con.prepareStatement(查询);
结果集rs=ps.executeQuery();
ArrayList data1=新的ArrayList();
while(rs.next()){
Map datanum=new HashMap();
datanum.put(“A”,rs.getString(1));
data1.add(rs.getString(1));
datanum.put(“B”,rs.getString(2));
data1.add(rs.getString(2));
datanum.put(“C”,rs.getString(3));
prolist.add(datanum);
}
z=“成功”;
}
}捕获(例外情况除外){
z=“从表中检索数据时出错”;
}
返回z;
}
}
但是,它只运行到异常z:

从表中检索数据时出错


有人能告诉我哪里出了问题吗?是否有其他方法检索此表数据?在Visual Studio中生成并存储在Azure上的表。

现在很难说。您是否尝试使用从Java连接到SQLAzure的概念验证教程?你能试试看这是否有效吗?检查您的IP是否在仪表板上SQL Azure防火墙中的“已批准访问”列表中。您能否对其进行编码并查看它在哪一行失败?异常对象ex提供了什么信息?Hi@RichardCL,给出的异常是:java.sql.SQLException:无效的对象名称“Training”。我是SQL的新手,你能帮我解决这个问题吗?好的,这很有用。(1) 您能否编写步骤代码并确认哪个语句引发异常。可能是“ResultSet rs=ps.executeQuery();”,但我想确定一下。(2) 您是否连接到正确的数据库?(3) 培训表属于哪个模式?最好在对象名称前面加上模式前缀,例如“dbo.Training”。(4) 您能否使用SSMS连接到Azure中的数据库并成功执行此查询?一般来说,在您的系统中,您需要在异常中报告或记录信息,否则很难排除故障。
    public class FillList extends AsyncTask<String, String, String> {
    String z = "";

    List<Map<String, String>> prolist  = new ArrayList<Map<String, String>>();

    @Override
    protected void onPreExecute() {

        pbbar.setVisibility(View.VISIBLE);
    }

    @Override
    protected void onPostExecute(String r) {

        pbbar.setVisibility(View.GONE);
        Toast.makeText(AddProducts.this, r, Toast.LENGTH_SHORT).show();

        String[] from = { "A", "B", "C" };
        int[] views = { R.id.lblproid, R.id.lblproname,R.id.lblprodesc };
        final SimpleAdapter ADA = new SimpleAdapter(AddProducts.this,
                prolist, R.layout.lsttemplate, from,
                views);
        lstpro.setAdapter(ADA);


        lstpro.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1,
                                    int arg2, long arg3) {
                HashMap<String, Object> obj = (HashMap<String, Object>) ADA
                        .getItem(arg2);
                proid = (String) obj.get("A");
                String proname = (String) obj.get("B");
                String prodesc = (String) obj.get("C");
                edtprodesc.setText(prodesc);
                edtproname.setText(proname);
           //     qty.setText(qtys);
            }
        });



    }

    @Override
    protected String doInBackground(String... params) {

        try {
            Connection con = connectionClass.CONN();
            if (con == null) {
                z = "Error in connection with SQL server";
            } else {
                String query = "select * from Training";
                PreparedStatement ps = con.prepareStatement(query);
                ResultSet rs = ps.executeQuery();

                ArrayList<String> data1 = new ArrayList<String>();
                while (rs.next()) {
                    Map<String, String> datanum = new HashMap<String, String>();
                    datanum.put("A", rs.getString(1));
                    data1.add(rs.getString(1));
                    datanum.put("B", rs.getString(2));
                    data1.add(rs.getString(2));
                    datanum.put("C", rs.getString(3));
                    prolist.add(datanum);
                }


                z = "Success";
            }
        } catch (Exception ex) {
            z = "Error retrieving data from table";

        }
        return z;
    }
}