2017-04-03 8 views
1

Ich bin eine Anwendung in Einheit erstellen. Aber ich möchte die Ausgabe "Die Daten sind leer" anzeigen, wenn die Daten in der Tabelle leer sind. Kannst du das Reparieren ?Unity3d Sqlite, Kann ich die Ausgabe "Die Daten sind leer" anzeigen, wenn die Datentabelle leer ist?

void Update(){ 
    //Clear output Text Field 
    output.text = ""; 

    var sql = "SELECT * FROM t_informasi;"; 


    using (var cmd = dbCon.CreateCommand()) { 
     cmd.CommandText = sql; 
     using(var reader = cmd.ExecuteReader()){ 
      while(reader.Read()){ 
       output.text = output.text + reader.GetInt32(0).ToString()+". " + reader.GetString(1) + "\n" + reader.GetString(2)+"\n\n"; 
      } 
     } 

Antwort

1

Verwenden Sie die StringBuilder-Klasse beim Konstruieren von Strings. Schauen Sie sich die Klasse an, Ihre String-Erstellung könnte wahrscheinlich besser zerlegt werden, um die Klasse besser zu nutzen. Wie mit der AppendLine Methode.

StringBuilder sb = new StringBuilder(); 

using (var cmd = dbCon.CreateCommand()) { 
     cmd.CommandText = sql; 
     using(var reader = cmd.ExecuteReader()){ 
      while(reader.Read()) 
       sb.Append(reader.GetInt32(0).ToString()+". " + reader.GetString(1) + "\n" + reader.GetString(2)+"\n\n"); 
     } 
} 


if(sb.Length <= 0) 
    sb.Append("the data is empty"); 

output.text = sb.ToString(); 

Obwohl ich mir nicht vorstellen können Sie diesen Code in einer Update Methode wollen. Auf Ihre Datenbank wird in jedem Frame zugegriffen.

+0

Ihr Code ist voll funktionsfähig ... thx für Ihre Hilfe ... –

Verwandte Themen