sqlite - 在flutter sqlite数据库中返回一个字符串值
问题描述
我想从数据库中获取特定 deviceId 的用户名字符串值,但我收到此错误
UserName===Instance of 'Future<List<Map<String, dynamic>>>
我可以在表中成功插入数据,只有返回值的问题。
这是我的代码:
声明数据库和列:
static final _databaseName = "MyDatabase.db";
static final _databaseVersion = 1;
static final table = 'my_table';
static final columnId = '_id';
static final columnName = 'name';
static final columnPassword = 'password';
static final columnDeviceID = 'deviceID';
///....
////...
Future _onCreate(Database db, int version) async {
await db.execute('''
CREATE TABLE $table (
$columnId INTEGER PRIMARY KEY,
$columnName STRING NOT NULL,
$columnPassword STRING NOT NULL,
$columnDeviceID STRING NOT NULL UNIQUE
)
''');
}
获取名称方法
Future<String> getName(String deviceid) async{
Database db = await instance.database;
String name= await columnName;
db.rawQuery('SELECT $name FROM $table WHERE $columnDeviceID = $deviceid');
return name;
}
以下是如何在应用程序中使用getName方法来获取值:
String user_name = await dbHelper.getName(deviceId);
解决方案
推荐阅读
- flask - delete route in flask application does not work
- python - add a line break ( \n=) in a sorted( list of tuples)
- node.js - Error: You must provide the json interface of the contract when instantiating a contract object
- maxima - wxMaxima:将除法视为乘法(将整体除法收集为乘法因子)
- html - 无法使输入(复选框)遵循 CSS 绝对定位
- javascript - Node/Express:使用来自另一个文件的函数请求
- tensorflow - 在 Google Coral Devboard 和 Jetson Nano 中使用我自己构建的卷积神经网络分类器
- javascript - Spring DWR engine.js 失败未知错误
- symfony - 弃用模板必须包含“%service_id%”占位符
- java - 将 JSON 序列化程序设置为使用单引号而不是双引号来附加值