【问题标题】:changing text into database values将文本更改为数据库值
【发布时间】:2013-11-20 01:00:43
【问题描述】:

当按下按钮时,我想将文本更改为数据库列值,我知道它错了,但这里是代码:

    private void MostraDados() {
    // TODO Auto-generated method stub
    final TextView text = (TextView) findViewById(R.id.tvUSUARIO);

    Button mostrar = (Button) findViewById(R.id.bMostrar);
    mostrar.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub

            db = openOrCreateDatabase("dbtest.db", Context.MODE_PRIVATE, null);

            String q = "SELECT * FROM dbtest.db WHERE usuarioorigem='";

            text.setText(q);


            //text.execSQL("DROP COLUMN IF EXISTS usuarioorigem");
        }
    });
}

【问题讨论】:

    标签: android database sqlite text


    【解决方案1】:

    您的代码缺少一些关键部分,例如管理游标和数据库的 DatabaseClass。

    private void MostraDados() {
    
    final TextView text = (TextView) findViewById(R.id.tvUSUARIO);
    
    Button mostrar = (Button) findViewById(R.id.bMostrar);
    mostrar.setOnClickListener(new OnClickListener() {
    
        public void onClick(View v) {
            // our missing a database helper
            MyDatabaseClass dbhelper = new MyDatabaseClass();
            dbhelper.open();
    
            Cursor result = dbhelper.doMyQuery();
            String mystring = result.getString(0);
    
            text.setText(mystring);
    
            dbhelper.close();
        }
    });
    ....
    public class WorkoutDbAdapter {
        ....
        public Cursor doMyQuery()
        {
            return this.mDb.query( yourQuery );
        }
    
    }
    

    这是您需要的最低要求,即使有了上述内容,我也遗漏了很多较小的细节。搜索有关创建和使用数据库的一些教程。

    但基本上你需要让光标返回,设置光标的位置,或者 cursor.moveNext() 然后获取你可以分配给 textField 的值。

    您的源代码缺少对数据库的正确调用和对游标的访问。希望您能找到一些不错的教程,为您充实其余部分。

    【讨论】:

      【解决方案2】:

      SQL 编写不正确。您必须从列中选择。并且您正在将查询字符串传递给文本视图。您应该首先回顾如何使用游标查询数据库,以及如何从游标中检索您想要的内容。

      所以我会研究如何使用 curosr,所有这些都在 Android 文档中提供,你可能想在模拟器中尝试 API 演示我相信你可以在那里学习如何使用光标出色地。所以看这里,http://developer.android.com/reference/android/database/Cursor.html

      这里是Is Android Cursor.moveToNext() Documentation Correct?

      【讨论】:

      • 你能帮我解释一下我的代码吗?好吧,我尝试了一些东西,但仍然在我的 setText 中给出错误。 cursor = db.rawQuery("SELECT * FROM dbtest.db WHERE usuarioorigem", null, null); usuario.setText(光标);
      【解决方案3】:

      得到光标后,你可以这样做:

      while(c.moveToNext(){
      
      text.setText(c.getString(0))
      
      }
      

      【讨论】:

        猜你喜欢
        • 2018-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-07
        • 1970-01-01
        • 2016-02-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多