【问题标题】:How to make right sql query with my situation如何根据我的情况进行正确的 sql 查询
【发布时间】:2015-11-20 03:07:00
【问题描述】:

想法就在这里,但它不工作,很想把它做好,我完全是个初学者)

String temperature = editText5.getText().toString();
String percent = editText7.getText().toString();

Cursor c1 = db.query("mytable", null, "temperature, percent = ?", new String[]{temperature, percent}, null, null, null);

if (c1.moveToFirst()) {
    int ckoef = c1.getColumnIndex("ckoef");
    int density = c1.getColumnIndex("density");

    do {
        textView9.setText(c1.getString(ckoef));
        textView11.setText(c1.getString(density));
    } while (c1.moveToNext());

} else

c1.close();

表格是这样的

ID = 1, temperature = 0, percent = 10, ckoef = 4.025, density = 1012.5
ID = 2, temperature = 10, percent = 10, ckoef = 4.034, density = 1012.5
ID = 3, temperature = 20, percent = 10, ckoef = 4.043, density = 1012.5
ID = 4, temperature = 30, percent = 10, ckoef = 4.057, density = 1012.5
ID = 5, temperature = 40, percent = 10, ckoef = 4.075, density = 1012.5
ID = 6, temperature = 50, percent = 10, ckoef = 4.085, density = 1012.5
ID = 7, temperature = 60, percent = 10, ckoef = 4.094, density = 1012.5
ID = 8, temperature = 70, percent = 10, ckoef = 4.103, density = 1012.5
ID = 9, temperature = 80, percent = 10, ckoef = 4.113, density = 1012.5
ID = 10, temperature = 90, percent = 10, ckoef = 4.122, density = 1012.5
ID = 11, temperature = 100, percent = 10, ckoef = 4.132, density = 1012.5

等百分比 10 - 50,步长 10

所以请帮忙。

【问题讨论】:

  • 怎么不工作了?它在做什么,你想让它做什么?
  • 尝试"temperature = ? AND percent = ?" 而不是"temperature, percent = ?"
  • E/AndroidRuntime: FATAL EXCEPTION: main 11-20 03:40:36.958 20254-20254/com.example.prog E/AndroidRuntime: Process: com.example.prog, PID: 20254 E/ AndroidRuntime: android.database.sqlite.SQLiteException: near ",": syntax error (code 1): , while compile: SELECT * FROM mytable WHERE temperature, percent = ?
  • 提图斯,谢谢,成功了!

标签: java android mysql sql


【解决方案1】:

使用游标查询sqlite数据库

Cursor c1 = db.query("mytable", null, "temperature=? and percent=?", new String[] { temperature, percent }, null, null, null);

new string[] 分别代表温度值和百分比值

【讨论】:

    【解决方案2】:

    Cursor c1 = db.query("mytable", null, "temperature = ? and percent = ?", temperature , percent , null, null, null);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多