Java 如何在Android SQLite中从数据库检索数据?
我想从“名称”中查询数据,我该怎么做? 我尝试过,但似乎我只需要通过主键进行查询,我对java完全陌生,我正在开始,我不知道通过“nombres”(英文名称)搜索的方法是什么 当我在“codigo”中注册一个数字并进行查询时,它会正确返回数据,但当我注册文本示例“Java 如何在Android SQLite中从数据库检索数据?,java,android,Java,Android,我想从“名称”中查询数据,我该怎么做? 我尝试过,但似乎我只需要通过主键进行查询,我对java完全陌生,我正在开始,我不知道通过“nombres”(英文名称)搜索的方法是什么 当我在“codigo”中注册一个数字并进行查询时,它会正确返回数据,但当我注册文本示例“asdasd”时,控制台会返回:E/SQLiteLog:(1)没有这样的列:asdasd 查询方法: private EditText et_codigo, et_nombres, et_contraseña; @Overrid
asdasd
”时,控制台会返回:E/SQLiteLog:(1)没有这样的列:asdasd
查询方法:
private EditText et_codigo, et_nombres, et_contraseña;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_agregarpersonaje);
et_codigo = (EditText)findViewById(R.id.txt_codigo);
et_nombres = (EditText)findViewById(R.id.txt_nombres);
et_contraseña = (EditText)findViewById(R.id.txt_contraseña);
}
public void Buscar(View view){
AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this, "administracion", null, 1);
SQLiteDatabase BaseDeDatabase = admin.getWritableDatabase();
String codigo = et_codigo.getText().toString();
if(!codigo.isEmpty()){
Cursor fila = BaseDeDatabase.rawQuery
("select nombres, contraseña from personajes where codigo =" + codigo, null);
if(fila.moveToFirst()){
et_nombres.setText(fila.getString(0));
et_contraseña.setText(fila.getString(1));
BaseDeDatabase.close();
} else {
Toast.makeText(this,"No existe el artículo", Toast.LENGTH_SHORT).show();
BaseDeDatabase.close();
}
} else {
Toast.makeText(this, "Debes introducir el código del artículo", Toast.LENGTH_SHORT).show();
}
}
您可以使用房间数据库。它在SQLite上提供了一个抽象层,并且更易于使用
听起来您需要一个新的解决方案。堆栈溢出不是寻找此类基本信息的好地方,特别是考虑到您需要的内容不能在几段的篇幅中涵盖。有很多网站和书籍涵盖了你需要的材料。我不能理解,我的方法没有任何解决方案吗?
private EditText et_codigo, et_nombres, et_contraseña;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_agregarpersonaje);
et_codigo = (EditText)findViewById(R.id.txt_codigo);
et_nombres = (EditText)findViewById(R.id.txt_nombres);
et_contraseña = (EditText)findViewById(R.id.txt_contraseña);
}
public void Buscar(View view){
AdminSQLiteOpenHelper admin = new AdminSQLiteOpenHelper(this, "administracion", null, 1);
SQLiteDatabase BaseDeDatabase = admin.getWritableDatabase();
String codigo = et_codigo.getText().toString();
if(!codigo.isEmpty()){
Cursor fila = BaseDeDatabase.rawQuery
("select nombres, contraseña from personajes where codigo =" + codigo, null);
if(fila.moveToFirst()){
et_nombres.setText(fila.getString(0));
et_contraseña.setText(fila.getString(1));
BaseDeDatabase.close();
} else {
Toast.makeText(this,"No existe el artículo", Toast.LENGTH_SHORT).show();
BaseDeDatabase.close();
}
} else {
Toast.makeText(this, "Debes introducir el código del artículo", Toast.LENGTH_SHORT).show();
}
}