2016-06-08 16 views
0

Ich versuche, ein paar Listen von Zeichenfolgen zu speichern, so dass, wenn ich das Programm schließe, ich nicht alle Informationen verlieren.Speichern von Variablen auf App in c schließen #

Ich habe diese Variablen:

list<string> StudentName = new list<string>; 
list<string> Email = new list<string>; 
list<string> StudentID = new list<string>; 

ich eine neue Variable zu jeder Liste, nachdem der Benutzer ein Formular abschickt, die aus vollständig gefüllt ist. Wenn jemand die Anwendung schließen möchte, möchte ich, dass alle Variablen in jeder Liste gespeichert werden. Ich habe die Anwendungseinstellungen verwendet, um Daten in der Vergangenheit zu speichern, aber ich weiß nicht, wie viele Leute diese App verwenden werden.

+1

Hängt davon ab, wie Sie dies speichern möchten. Sie könnten für die Datenbank mit allen Informationen gehen, da Sie Listen verwenden –

+0

Sie könnten eine Datenbank verwenden, um dies zu speichern, oder speichern Sie Ihre Listen in XML-Datei (en). – AdrienTorris

+1

Der Downvote war nicht notwendig. Es ist eine legitime Frage. –

Antwort

2

Eine Möglichkeit wäre es, die Listen in einer Art

public class AppState 
{ 
    public List<string> StudentName = new List<string>(); 
    public List<string> Email = new List<string>(); 
    public List<string> StudentID = new List<string>(); 
} 

und Xml serialization and deserialization die Daten in einer Datei zu speichern, verwenden zu aggregieren.

0

Sie können die Werte in der Datenbank speichern:

// I'd create a model to start with 

public class Student 
{ 
    public int StudentID {get; set;} 
    public string StudentName {get; set;} 
    public string Email {get; set;} 
} 

// Followed by a Controller to store the data: 

public class StoreStudentOnAppClose() 
{ 
    public void StoreStudents() 
    { 
     List<Student> studentList = new List<Student>(); 
     // Predefined method which you'll add to your class to grab each student from the database table. 
     studentList = GetStudentList(); 
     foreach(var student in studentList) 
     { 
      var db = UmbracoContext.Application.DatabaseContext.Database; 
      var insert = new Sql("INSERT INTO students VALUES('" + StudentID + "', '" + StudentName +"'. '" + Email +"')"); 
      int res = db.Execute(insert); 
     } 
    } 
} 

Dies ist offensichtlich in Zusammenhang mit einer Umbraco Anwendung jedoch der Punkt gleich ist, dann würden Sie nur die Verbindungszeichenfolge ändern.

+0

Bitte nicht String-Verkettung empfehlen, es ist anfällig für SQL-Injektion. –

+0

Um SQL-Injection zu vermeiden, können Sie hier immer nach detaillierteren Informationen zu SQL Injection-sicheren Abfragen suchen: [MSDN Protect from SQL Injection] (https://msdn.microsoft.com/en-us/library/ff648339.aspx) –