java - 如何将表中的所有行获取到 Android 应用程序

标签 java android sql

我的问题是我无法将表中的所有行获取到我的 Android 应用程序,我的表位于 MS sql 数据库中,当我尝试获取它们时,我想将所有列放入 TextView 中,但它只获取第一个我的表格中的行有帮助吗?

这是我的代码:

public class words extends AppCompatActivity {
private Button a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,rr,s,t,u,v,w,x,y,z,z1,z2;
    ConnectionClass connectionClass;
    ProgressBar loading;
    private TextView view;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_words);
        getSupportActionBar().hide();
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        a = (Button) findViewById(R.id.أ);
        b = (Button) findViewById(R.id.ب);
        c = (Button) findViewById(R.id.ت);
        d = (Button) findViewById(R.id.ث);
        e = (Button) findViewById(R.id.button3);
        f = (Button) findViewById(R.id.button13);
        g = (Button) findViewById(R.id.button17);
        h = (Button) findViewById(R.id.button6);
        i = (Button) findViewById(R.id.button8);
        j = (Button) findViewById(R.id.button18);
        k = (Button) findViewById(R.id.button19);
        l = (Button) findViewById(R.id.button21);
        m = (Button) findViewById(R.id.button26);
        n = (Button) findViewById(R.id.button22);
        o = (Button) findViewById(R.id.button23);
        p = (Button) findViewById(R.id.button24);
        q = (Button) findViewById(R.id.button20);
        rr = (Button) findViewById(R.id.button27);
        s = (Button) findViewById(R.id.button29);
        t = (Button) findViewById(R.id.button28);
        u = (Button) findViewById(R.id.button31);
        v = (Button) findViewById(R.id.button30);
        w = (Button) findViewById(R.id.button32);
        x = (Button) findViewById(R.id.button33);
        y = (Button) findViewById(R.id.button34);
        z = (Button) findViewById(R.id.button35);
        z1 = (Button) findViewById(R.id.button36);
        z2 = (Button) findViewById(R.id.button37);
        loading = (ProgressBar) findViewById(R.id.progressBar);
        connectionClass = new ConnectionClass();
        view = (TextView) findViewById(R.id.word);

        DoLogin doLogin = new DoLogin(); // this is the Asynctask
        doLogin.execute("");




    }
    public class DoLogin extends AsyncTask<String,String,String>
    {
        String message = "";
        Boolean isSuccess = false;








        @Override
        protected void onPreExecute() {
            loading.setVisibility(View.VISIBLE);
        }

        @Override
        protected void onPostExecute(String r) {

            loading.setVisibility(View.GONE);
            Toast.makeText(words.this, r, Toast.LENGTH_SHORT).show();

            if(isSuccess) {
                Toast.makeText(words.this, r, Toast.LENGTH_SHORT).show();

            }

        }

        @Override
        protected String doInBackground(String... params) {
            runOnUiThread(new Runnable() {

                @Override
                public void run() {

                    try {
                        Connection con = connectionClass.CONN();
                        if (con == null) {
                            message = "Error in connection with SQL server please contact the administrator";
                        } else {

                            String query = "SELECT * FROM country INNER JOIN family ON country.CID = family.CID";
                            Statement stmt = con.createStatement();
                            ResultSet rs = stmt.executeQuery(query);





                            if(rs.next())
                            {
                                try {
                                    String theword =  (rs.getString("FName"));

                                    if (theword.contains("أ")){

                                        a.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ب")){

                                        b.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ت")){

                                        c.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ث")){

                                        d.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ج")){

                                        e.setVisibility(View.VISIBLE);

                                    } else if (theword.contains("ح")){

                                        f.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("خ")){

                                        g.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("د")){

                                        h.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ذ")){

                                        i.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ر")){

                                        j.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ز")){

                                        k.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("س")){

                                        l.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ش")){

                                        m.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ص")){

                                        n.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ض")){

                                        o.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ط")){

                                        p.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ظ")){

                                        q.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ع")){

                                        rr.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("غ")){

                                        s.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ف")){

                                        t.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ق")){

                                        u.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ك")){

                                        v.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ل")){

                                        w.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("م")){

                                        x.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ن")){

                                        y.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ه")){

                                        z.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("و")){

                                        z1.setVisibility(View.VISIBLE);

                                    }else if (theword.contains("ي")){

                                        z2.setVisibility(View.VISIBLE);

                                    }else {
                                        message ="WERE IS THE FWORD COLUMN?!?!";
                                    }


                                    isSuccess=true;
                                }catch (Exception e){
                                    message = "Exception e = "+e;
                                    isSuccess = false;
                                }





                            }

                        }
                    }
                    catch (Exception ex)
                    {
                        isSuccess = false;
                        message = "Exceptions"+ex;

                    }


                }
            });

            return message;
            }
        }

    }

使用此代码,它总是在我的 TextView 中只显示一行

有什么帮助吗?!

编辑:

查询成功返回所有行,但在应用程序中没有执行相同的操作

已解决

我用 while(rs.next()) 替换了 if(rs.next()) ,它解决了我的问题!

最佳答案

首先确保您的查询返回超过 1 行,然后使用任何工具执行它,

SELECT column_name
FROM country 
INNER JOIN family 
ON country.CID = family.CID

如果不是,则问题出在您的 INNER JOIN 上,并将其更改为 LEFT JOIN 以在这种情况下甚至返回空值。

直接选择column_name以避免检索您未使用的所有列。

关于java - 如何将表中的所有行获取到 Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57366853/

相关文章:

c# - 为什么所有立方体的纹理 UV 贴图都发生了变化?

java - 如何设置Android应用程序兼容不同的Android平台?

sql - 如何让长 SQL 字符串看起来更漂亮

mysql - SQL:删除列语法错误

sql - 如何将Excel电子表格中的数据导出到Sql Server 2008表

java - 尽管我应该收到数值,但我收到输出 0.0

java - 如何克隆二维List?

java - 对象类继承

java - 重新加载 tomcat 上下文后,Log4j 停止写入控制台

android - map 瓦片在地形和正常类型之间闪烁