Имеется код, но он выводит только последнюю строку
public void Show_DB()
{
connection();
try
{
cmd_db = new SqliteCommand("SELECT * FROM Items", con_db);
rdr = cmd_db.ExecuteReader();
while (rdr.Read())
{
IDtext.text = rdr[0].ToString();
Nametext.text = rdr[1].ToString();
Counttext.text = rdr[2].ToString();
Desctext.text = rdr[3].ToString();
Statustext.text = rdr[4].ToString();
}
}
catch (Exception ex)
{
text.text = ex.ToString();
}
Disconnect();
}
Как это можно исправить? Нужно, чтобы код выводил все строки из БД, в UnityUI Text. К примеру, Нужно чтобы все id вываливались в блок IdText, и каждый начинался с новой строки. Лучше бы, конечно, чтобы на каждую строку создавался новый префаб, содержащий эту строку, чтобы можно было сделать динамический список.
В общем случае вам достаточно перестать полностью перезаписывать новыми значениями поля text в каждой итерации, начав дополнять существующие значения - новыми. Так же необходимо добавлять к строкам Environment.NewLine для вставки символа переноса:
public void Show_DB()
{
connection();
try
{
cmd_db = new SqliteCommand("SELECT * FROM Items", con_db);
rdr = cmd_db.ExecuteReader();
while (rdr.Read())
{
IDtext.text += rdr[0].ToString() + Environment.NewLine;
Nametext.text += rdr[1].ToString() + Environment.NewLine;
Counttext.text += rdr[2].ToString() + Environment.NewLine;
Desctext.text += rdr[3].ToString() + Environment.NewLine;
Statustext.text += rdr[4].ToString() + Environment.NewLine;
}
}
catch (Exception ex)
{
text.text = ex.ToString();
}
Disconnect();
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей