Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLite rawQuery选择标题为实数的列_Android_Jquery_Database_Sqlite_Android Query - Fatal编程技术网

Android SQLite rawQuery选择标题为实数的列

Android SQLite rawQuery选择标题为实数的列,android,jquery,database,sqlite,android-query,Android,Jquery,Database,Sqlite,Android Query,我有一个列有数字的表: 表名Valores id编号11 18 12.3 01 Juan 10 08 15 02罗莎235161 03 Pepe 35 18 11 我想知道你在栏中选择的任何名称的金额。第12.3列中罗莎的例子是61。我作了以下发言: columna = (EditText) findViewById(R.id.eT_columna); valor = (EditText) findViewById(R.id.eT_valor); String stColumna = colum

我有一个列有数字的表:

表名Valores

id编号11 18 12.3 01 Juan 10 08 15 02罗莎235161 03 Pepe 35 18 11

我想知道你在栏中选择的任何名称的金额。第12.3列中罗莎的例子是61。我作了以下发言:

columna = (EditText) findViewById(R.id.eT_columna);
valor = (EditText) findViewById(R.id.eT_valor);
String stColumna = columna.getText().toString();

    public void consulta (View v){

       //Determinación del valor
        Cursor fila_valores = bd_valores.rawQuery(
                "select "+ stColumna + " from Valores where Nombre", null);
        if (fila_valores.moveToFirst()) {
            valor.setText(fila_valores.getString(0));
        }
        bd_valores.close();
    }

要运行应用程序,我得到的结果是12.3正确值61。我犯了什么错?。感谢您对我的英语表示抱歉

您忘记在查询中输入条件值,即Rosa

select "+ stColumna + " from Valores where Nombre = 'Rosa'
选择数值文字12.3,而不是列12.3。要选择列,请引用标识符:

SELECT "12.3"
例如:

sqlite> create table a("12.3");
sqlite> insert into a select 45.6;
sqlite> select 12.3 from a;
12.3
sqlite> select "12.3" from a;
45.6

此外,您的where Nombre本身几乎毫无意义。

我找到了问题的解决方案:

columna = (EditText) findViewById(R.id.eT_columna);
Nombre = (EditText) findViewById(R.id.eT_Nombre);
valor = (EditText) findViewById(R.id.eT_valor);
String stColumna = columna.getText().toString();
String stNombre = Nombre.getText().toString();

    public void consulta (View v){

       //Determinación del valor
        Cursor fila_valores = bd_valores.rawQuery(
                "select "+ '"' + stColumna +'"'+ " from Valores where Nombre=" + "'"+stNombre+"'", null);
        if (fila_valores.moveToFirst()) {
            valor.setText(fila_valores.getString(0));
        }
        fila_valores.close();
    }

谢谢您的帮助。

从Valores where Nombre您忘记放置从Valores where Nombre='Rosa'您是对的从Valores where Nombre=+name选择+stColumna+,但错误仍然存在。值stColumn=12.3仍然存在,无法识别列12.3,并为我提供相同的值而不是正确的值61。我正在Android Studio上使用一个数据库,该数据库的列名可用,但无法识别,只能识别为文本,但也会抛出列的值,而不是名为Rosa的交点的值。还有其他建议吗?非常感谢。
columna = (EditText) findViewById(R.id.eT_columna);
Nombre = (EditText) findViewById(R.id.eT_Nombre);
valor = (EditText) findViewById(R.id.eT_valor);
String stColumna = columna.getText().toString();
String stNombre = Nombre.getText().toString();

    public void consulta (View v){

       //Determinación del valor
        Cursor fila_valores = bd_valores.rawQuery(
                "select "+ '"' + stColumna +'"'+ " from Valores where Nombre=" + "'"+stNombre+"'", null);
        if (fila_valores.moveToFirst()) {
            valor.setText(fila_valores.getString(0));
        }
        fila_valores.close();
    }