我的SQL语句不会从带有SQLite的android中的表返回任何数据
我有一个onClick按钮,当用户单击该按钮时,它将从database helper类调用一个方法来执行搜索。但由于某些原因,它似乎不起作用,请帮帮我下面是我为具有按钮的类编写的代码:我的SQL语句不会从带有SQLite的android中的表返回任何数据,android,sqlite,Android,Sqlite,我有一个onClick按钮,当用户单击该按钮时,它将从database helper类调用一个方法来执行搜索。但由于某些原因,它似乎不起作用,请帮帮我下面是我为具有按钮的类编写的代码: public class LessonAlphabets extends Activity implements View.OnClickListener { Button btn; protected void onCreate(Bundle savedInstanceState) {
public class LessonAlphabets extends Activity implements View.OnClickListener {
Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DatabaseHelper db = new DatabaseHelper(this);
//some other unrelated code
}
public void onClick(View view) {
btn = (Button) view;
if(alphabetName.equals(alphabetHolder)){
DatabaseHelper dbHelper = new DatabaseHelper(this);
String text= dbHelper.getDescription(alphabetHolder);//this is the method to query
dbHelper.close();
textAlpha.setText(alphabetHolder + text);
}
下面是数据库帮助器类:
public class DatabaseHelper extends SQLiteOpenHelper {
//declarations and other methods
//....
//....
public String getDescription(String s_name) {
String data = "";
String selectQuery = "SELECT " + KEY_DESC + " FROM " + TABLE_SIGN + " WHERE signName = '" + s_name + "'";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
// get the data into array,or class variable
data = cursor.getString(cursor.getColumnIndex(KEY_DESC));
} while (cursor.moveToNext());
}
db.close();
return data;
}
}
最后是数据库表的类,我不知道它对这个问题是否重要:
public class Table_Sign {
private int id;
private String signName;
private String signNameBM;
private String desc;
private String descBM;
private int category;
public Table_Sign(){}
public Table_Sign(String signName, String signNameBM, String desc, String descBM, int category) {
super();
this.signName = signName;
this.signNameBM = signNameBM;
this.desc = desc;
this.descBM = descBM;
this.category = category;
}
//------- getters & setters
// getting ID
public int getId(){
return this.id;
}
// setting id
public void setId(int id){
this.id = id;
}
// getting signName
public String getSignName(){
return this.signName;
}
// setting signName
public void setSignName(String signName){
this.signName = signName;
}
// getting signNameBM
public String getSignNameBM(){
return this.signNameBM;
}
// setting signNameBM
public void setSignNameBM(String signNameBM){
this.signNameBM = signNameBM;
}
// getting desc
public String getDesc(){
return this.desc;
}
// setting desc
public void setDesc(String desc){
this.desc = desc;
}
// getting descBM
public String getDescBM(){
return this.descBM;
}
// setting descBM
public void setDescBM(String descBM){
this.descBM = descBM;
}
// getting category
public int getCategory(){
return this.category;
}
// setting category
public void setCategory(int category){
this.category = category;
}
//------- getters & setters
@Override
public String toString() {
return "Table_Sign [id=" + id + ", signName=" + signName + ", signNameBM=" + signNameBM + ", desc=" + desc + ", descBM=" + descBM
+ ", category=" + category + "]";
}
}与我共事过的那些人相比,你的助手类似乎很差劲。据我所见,它通常由构造函数和重写的onCreate和onUpgrade方法组成。还有另一个类,通常称为源类,它可以与Helper类协同工作,帮助您完成所需的任务。你在哪里打开与可写数据库的连接?@zgc7009我在helper类中有构造函数、onCreate和onUpgrade方法,但我没有把它放在这里,我只是把它放在//声明和其他方法//../../../。。。。在这里的问题中。我还认为我没有做任何事情来打开与db的连接,我该如何打开它?TQ