游标总是返回空

时间:2015-04-28 18:05:51

标签: android database sqlite cursor sms

  

在下面给出的代码中,当我运行应用程序时数据正在获取   写入表但当我获取数据时它总是给我一个   空光标。非常感谢任何帮助

public class todo extends Activity {


        private CheckBox chkIos;
        EditText txtphoneNo;
        String isc="n";
        String phoneNo="000";
        String name="000";
    Context mcontect =this;

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_todo);
             //declaration
        chkIos = (CheckBox) findViewById(R.id.checkBox);

        txtphoneNo = (EditText) findViewById(R.id.editTextPhoneNo);
            //get_user_name
            SharedPreferences pref = getSharedPreferences("lin", 0);
            name = pref.getString("KEY", null);
            //database_3
        DatabaseOperations3 DO  = new DatabaseOperations3(mcontect);
        Cursor CR = DO.getInformation(DO);
        Log.d("=====>", "todo");
        if (CR.moveToFirst()) {
            Log.d("=====>", "todo");

            do {
                if (name.equals(CR.getString(0))) {
                    Log.d(name, CR.getString(0));

                    phoneNo = (CR.getString(1));
                    Log.d(name, CR.getString(0));
                    Log.d(phoneNo, CR.getString(1));
                    Log.d(isc, CR.getString(2));
                    isc = (CR.getString(2));
                    txtphoneNo.setText(phoneNo);
                }
            } while (CR.moveToNext());
            check();
        }}
public void check() {
   String s="c";
    if(isc.equals(s)){
        Log.d("=====>", "check");

        chkIos.setChecked(true);

    }
}
    public void cbonclick(View v) {

        if (chkIos.isChecked()) {

        isc = "c";
        }
}
    public void xxx(View v) {
        phoneNo = txtphoneNo.getText().toString();
        DatabaseOperations3 DO  = new DatabaseOperations3(mcontect);

        DO.putInformation(DO,name,phoneNo,isc);
        Log.d("=====>", "Database_3_7");
        Intent intenti = new Intent(this, ProxAlertActivity.class);
        startActivity(intenti);
    }


            protected void sendSMSMessage() {
            Log.d("Send SMS", "************");

            String message = "Reached";
                Log.d("=====>", "message");

              if (isc.equals("c")&&phoneNo!="000") {
                Log.d("=====>", "eqto");

                try {
                    Log.d("=====>", "try");

                    SmsManager smsManager = SmsManager.getDefault();
                    smsManager.sendTextMessage(phoneNo, null, message, null, null);
                    Toast.makeText(getApplicationContext(), "SMS sent.",
                            Toast.LENGTH_LONG).show();

                } catch (Exception e) {
                    Log.d("=====>", "excep");

                    Toast.makeText(getApplicationContext(),
                            "SMS faild, please try again.",
                            Toast.LENGTH_LONG).show();
                    e.printStackTrace();
                }
            }
        }
    }
  

我的应用程序的数据库在下面给出

public class DatabaseOperations3 extends SQLiteOpenHelper {
     static final int database_version = 1;
     static final String USER_NAME = "user_name";
     static final String USER_PHONE = "user_ph";
     static final String USER_SELECT = "user_select";
     static final String DATABSE_NAME = "phone_info.db";
     static final String TABLE_NAME = "ph_info";
    public DatabaseOperations3(Context context) {
        super(context, DATABSE_NAME, null, database_version);
        Log.d("Database Operations","Database Created");
    }

@Override
    public void onCreate(SQLiteDatabase sdb) {
        Log.d("Database Operations3","Table Created");
        sdb.execSQL("CREATE TABLE " + TABLE_NAME +
                "( "  + USER_NAME + " text, " +
                USER_PHONE + " text, " + USER_SELECT + " text)");

    }

       public void onUpgrade(SQLiteDatabase sq,int arg1,int arg2) {
        Log.d("DatabaseHelper", "onUpgrade");
        sq.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
        onCreate(sq);

    }
    public void putInformation(DatabaseOperations3 dop,String name,String ph,String isc)
    {
        SQLiteDatabase SQ = dop.getWritableDatabase();
        SQ.rawQuery("DELETE FROM " + TABLE_NAME + " WHERE " + USER_NAME + " = ?", new String[]{name});
        ContentValues cv = new ContentValues();
        cv.put(USER_NAME,name);
        cv.put(USER_PHONE,ph);
        cv.put(USER_SELECT,isc);
        Log.d(name,ph);

    }
    public Cursor getInformation(DatabaseOperations3 dop)
    {
        Log.d("DatabaseHelper", "getinfo");

        SQLiteDatabase SQ = dop.getReadableDatabase();
        String[] columns = {USER_NAME, USER_PHONE,USER_SELECT};
        Cursor CR = SQ.query(TABLE_NAME,columns,null, null, null, null, null);
        return CR;
 }
}

0 个答案:

没有答案