安卓工作室中查询数据库的代码
时间: 2024-02-05 18:13:54 浏览: 18
查询数据库的代码可以分为两个部分:首先是创建数据库和表格的代码,然后是具体的查询数据的代码。
1. 创建数据库和表格的代码:
```java
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "mytable";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_NAME = "name";
private static final String COLUMN_AGE = "age";
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE " + TABLE_NAME + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_NAME + " TEXT, " +
COLUMN_AGE + " INTEGER)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
```
2. 查询数据的代码:
```java
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ArrayAdapter<String> adapter;
private DBHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.list_view);
adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
listView.setAdapter(adapter);
dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
String[] projection = {
DBHelper.COLUMN_ID,
DBHelper.COLUMN_NAME,
DBHelper.COLUMN_AGE
};
Cursor cursor = db.query(
DBHelper.TABLE_NAME,
projection,
null,
null,
null,
null,
null
);
while (cursor.moveToNext()) {
long id = cursor.getLong(cursor.getColumnIndexOrThrow(DBHelper.COLUMN_ID));
String name = cursor.getString(cursor.getColumnIndexOrThrow(DBHelper.COLUMN_NAME));
int age = cursor.getInt(cursor.getColumnIndexOrThrow(DBHelper.COLUMN_AGE));
adapter.add(id + " - " + name + " - " + age);
}
cursor.close();
}
@Override
protected void onDestroy() {
super.onDestroy();
dbHelper.close();
}
}
```
上面的代码中,我们使用 `query` 方法来查询数据,其中第一个参数是表格名,第二个参数是要查询的字段名数组,第三个参数是过滤器,第四个参数是过滤器参数,第五个参数是分组方式,第六个参数是排序方式,第七个参数是限制返回的行数。在本例中,我们将第三、第四、第五、第六、第七个参数都设置为 null,表示查询全部数据。我们使用 `moveToNext` 方法遍历查询结果,并使用 `getColumnIndexOrThrow` 方法获取对应列的索引。最后,我们将每条记录的 id、name 和 age 拼接成一个字符串,添加到适配器中,显示在 ListView 中。