使用相应的列字段从sqlite数据库获取字段

时间:2014-08-14 05:07:07

标签: android sqlite

我在sqlite for android中创建了一个数据库,其中包含Acc No,name,date等变量。 我的活动中有很多编辑文字。当在Acc No编辑文本中输入acc no时,相应的名称应出现在Name name edit text下面。怎么做。

我的数据库代码如下所示

public void getName(Editable account_edit_txt){

  "Acc_No " + account_edit_txt, null, null, null, null);
    Cursor cursor = db.query(DATABASE_TABLE, new String[] {"Cust_Name","Acc_No"}, "Acc_No=?",new String[]{"account_edit_txt"}, null, null, null);
    Log.e("running", "cursor run");
    if(cursor!=null)
     {

         Log.e("running", "curosr is not null");
     while(cursor.isFirst())
     {

         Log.e("running", "cursor while loop enter");

         String temp =  (cursor.getString(cursor.getColumnIndex("Cust_Name")));
             String temp2 =(cursor.getString(cursor.getColumnIndex("Acc_No")));
        Log.e("running", "id acc num" +temp+ " name"+temp2);

    }
 }

活动代码如下:

公共类TransactionActivity扩展了Activity {

EditText acc_edit;
TextView acc_txt;
Editable account_edit_txt;
Connection connection;
String name;
SQLiteDatabase sdb;

AccountDBAdapter db = new AccountDBAdapter(this);

//

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.transaction_page);

    acc_edit = (EditText) findViewById(R.id.edittext_Acc_No);
    acc_txt = (TextView) findViewById(R.id.text_show_name);
    final String editable = String.valueOf(acc_edit.getText());

    Log.e("editable value", "" + account_edit_txt);
    acc_edit.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int count,
                int after) {

            if (start >= 2) {
                db.open();
                account_edit_txt = acc_edit.getText();
                db.getName(account_edit_txt);
                db.close();
            }

        }

        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1,
                int arg2, int arg3) {


        }

        @Override
        public void afterTextChanged(Editable arg0) {
            // TODO Auto-generated method stub

        }
    });

}

}

1 个答案:

答案 0 :(得分:0)

以下功能将帮助您检索给定帐号的帐户持有人姓名。 不需要再次使用Acc_No。广告您已经拥有用户已插入的帐号。

还假设只有一个记录与捐赠帐号相关联。

public String getAccountHolderName(String accountNumber) {
        String accountHolderName = null;
        Cursor cursor = db.query(DATABASE_TABLE, new String[] { "Cust_Name" },
                "Acc_No=?", new String[] { accountNumber }, null, null, null);
        if (cursor != null) {
            cursor.moveToFirst();
            accountHolderName = (cursor.getString(cursor
                    .getColumnIndex("Cust_Name")));

            cursor.close();
        }

        return accountHolderName;
    }