你能告诉我这个代码有什么问题?选择并计算列 - SQLite
public Cursor IMC(){
Cursor cursor;
String[] campos = {"SELECT (peso/(altura*altura)) FROM medidas "};
db = banco.getReadableDatabase();
cursor = db.query(CriaBanco.TABELA_MEDIDAS, campos, null, null, null, null, null, null);
if(cursor!=null){
cursor.moveToFirst();
}
db.close();
return cursor;
}
(比索/(阿尔图拉*阿尔图拉)是列和 “MEDIDAS” 表...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.resultado__imc_layout);
BancoController crud = new BancoController(getBaseContext());
Cursor cursor = crud.IMC();
String[] nomeCampos = new String[] {"SELECT (peso/(altura*altura) FROM medidas "};
int[] idViews = new int[] {R.id.txtresultado_imc};
}
我试图显示TextView的在SELECT方程的结果“txtresultado_imc ” ......
下表代码
public class CriaBanco extends SQLiteOpenHelper {
private static final String NOME_BANCO = "banco.db";
private static final int VERSAO = 1;
static final String TABELA_MEDIDAS = "medidas";
static final String CODIGO = "codigo";
static final String ALTURA = "altura" ;
static final String PESO = "peso" ;
static final String CINTURA = "cintura" ;
static final String PESCOCO = "pescoco" ;
static final String QUADRIL = "quadril" ;
static final String GRAU_ATIVIDADE = "grau_atividade" ;
public CriaBanco(Context context) {
super(context, NOME_BANCO, null, VERSAO);
}
@Override
public void onCreate(SQLiteDatabase db) {
String medidas = "CREATE TABLE medidas ("
+ "codigo integer primary key autoincrement,"
+ "altura integer,"
+ "peso integer,"
+ "cintura integer,"
+ "pescoco integer,"
+ "quadril integer,"
+ "grau_atividade num)";
db.execSQL(medidas);
}
韩国社交协会!
欢迎的话,你的问题缺乏基本点即看这个怎么样代码应该做的,什么是目前发生这样添加这些细节加,如果有任何异常,那么请加入logcat的细节 –
至少有一个问题是,第二个解释在你的['query()'](https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html)语句中的参数应该是你想要返回的列。 – PPartisan
Pavneet辛格, 我需要选择采取列“比索”和“阿尔图拉”的值,并执行方程(比索/(阿尔图拉*阿尔图拉)),然后在TextView中显示...它不会被称为按钮,打开屏幕时,该值应该已经有.... –