Listview 和 DialogFragment 中的查询(查询很好!!)
Query (The query is good!!) in Listview and DialogFragment
大家好,我有一个无法解决的大问题...很简单,您有一个 ListView,当您单击 ListView 的一个项目时,我得到了该项目的 "Rubro",它是很好...问题是我有一个方法可以查询这个 Rubro 的 comapre 并从 table 获得一个 Long att 但是,查询不起作用!但我知道查询很好,因为我用 SQLite 的 DB Brwoser 证明了它!!所以这是我调用方法的代码:
public void onClick(DialogInterface dialog, int id) {
TextView selectR = (TextView) view.findViewById(R.id.Rubro);
TextView selectV = (TextView) view.findViewById(R.id.Valor);
Long ac = db.Buscar_Rubro(selectR.getText().toString()); //THIS IS THE METHOD!
EditText r = (EditText) dialogV.findViewById(R.id.Mod);
Long Sum = Long.parseLong(r.getText().toString());
db.ModRubros(Long.parseLong(selectV.getText().toString()),ac,Sum);
Cursor cT = db.ListarRubros();//RefreshRubros(cT, from, to);
}
这是方法:
public long Buscar_Rubro(String Rubro){
SQLiteDatabase DB = database.getReadableDatabase();
String Query ="SELECT " + Database.ValorActrual + " FROM "+ Database.Taba_Rubros + " WHERE " + Database.Rubro + " LIKE '"+ Rubro +"'" ;
Cursor c = DB.rawQuery(Query,null);
Long ac = c.getLong(1);
return ac;
}
请帮帮我!为了纠正这个我输了一整天!
PD:这是我得到的错误,但很明显,因为查询不起作用!
android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
你应该这样做
String Query ="SELECT " + Database.ValorActrual + " FROM "+ Database.Taba_Rubros + " WHERE " + Database.Rubro + " LIKE '"+ Rubro +"'" ;
Cursor c = DB.rawQuery(Query,null);
if (c != null && c.moveToFirst()) {
Long ac = c.getLong(0);
}
大家好,我有一个无法解决的大问题...很简单,您有一个 ListView,当您单击 ListView 的一个项目时,我得到了该项目的 "Rubro",它是很好...问题是我有一个方法可以查询这个 Rubro 的 comapre 并从 table 获得一个 Long att 但是,查询不起作用!但我知道查询很好,因为我用 SQLite 的 DB Brwoser 证明了它!!所以这是我调用方法的代码:
public void onClick(DialogInterface dialog, int id) {
TextView selectR = (TextView) view.findViewById(R.id.Rubro);
TextView selectV = (TextView) view.findViewById(R.id.Valor);
Long ac = db.Buscar_Rubro(selectR.getText().toString()); //THIS IS THE METHOD!
EditText r = (EditText) dialogV.findViewById(R.id.Mod);
Long Sum = Long.parseLong(r.getText().toString());
db.ModRubros(Long.parseLong(selectV.getText().toString()),ac,Sum);
Cursor cT = db.ListarRubros();//RefreshRubros(cT, from, to);
}
这是方法:
public long Buscar_Rubro(String Rubro){
SQLiteDatabase DB = database.getReadableDatabase();
String Query ="SELECT " + Database.ValorActrual + " FROM "+ Database.Taba_Rubros + " WHERE " + Database.Rubro + " LIKE '"+ Rubro +"'" ;
Cursor c = DB.rawQuery(Query,null);
Long ac = c.getLong(1);
return ac;
}
请帮帮我!为了纠正这个我输了一整天!
PD:这是我得到的错误,但很明显,因为查询不起作用!
android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
你应该这样做
String Query ="SELECT " + Database.ValorActrual + " FROM "+ Database.Taba_Rubros + " WHERE " + Database.Rubro + " LIKE '"+ Rubro +"'" ;
Cursor c = DB.rawQuery(Query,null);
if (c != null && c.moveToFirst()) {
Long ac = c.getLong(0);
}