我使用 MS SQL,我想讀取資料并將其顯示在 ListViewBuilder 中,但我遇到了一些困難。
我不知道如何找到itemCount(最大的問題)
我不知道如何在 ListTile 中顯示資料
查詢 - “SELECT * FROM TabelTest”
下面我將展示一部分代碼以及我希望如何在應用程式中顯示:
// This is to get and display in terminal data from db
Future<void> read(String query) async {
var res = await SqlConn.readData(query);
debugPrint(res.toString());
}
我需要放入 ListTile 的資料

這就是我想要顯示資料的方式(紅色下劃線是主要問題)

uj5u.com熱心網友回復:
嘗試這個:
FutureBuilder<List?>(
future: read("SELECT * FROM TabelTest"),
builder: (context, snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.waiting:
return Text('Loading....');
default:
if (snapshot.hasError)
return Text('Error: ${snapshot.error}');
else
List data = snapshot.data ?? [];
return ListView.builder(
itemCount: data.length,
itemBuilder: (context, index) {
return Text((data[index] as Map)['name']);
});
}
})
也改變這個:
Future<List?> read(String query) async {
final result = await SqlConn.readData(query);
return jsonDecode(result) as List;
}
uj5u.com熱心網友回復:
首先,我建議您將資料映射到模型中,這被認為是一種很好的做法,并避免了可能的型別轉換相關錯誤。
其次,您可以使用FutureBuilder對 SQL 資料庫進行異步呼叫。我還將修改您的read方法以回傳檢索到的資料庫資料并與 FutureBuilder 一起作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/506376.html
