Aber was meine Zweifel ist, wie ich diese Werte mit der Datenbank
Zunächst aktualisieren Sie, müssen Sie wissen, wie man mit UWP App CRUD
Operationen auf MySQL
Datenbank zu tun. Bitte beziehen Sie sich dazu auf this sample.
Zweitens haben Sie gemäß Ihrer Beschreibung ein MVVM
-Projekt erstellt, um Sammlungsdaten an die Ansicht zu binden. Aber Sie hatten keine Datenschicht für diese MVVM
Struktur. Dazu müssen Sie eine Klasse für die Datenschicht erstellen, die die Operationen GRUD
ausführt, und den Kontakt mit diesem Datendienst herstellen, und zwar von ViewModel
. Weitere Details bitte Referenz this article.
Die Klasse für Datenschicht I nach Ihrer Beschreibung geschrieben, das enthält, wie Update lesen und Löschen von Daten aus mysql
Datenbank wie folgt:
public class Student
{
public int Student_id { get; set; }
public string Student_name { get; set; }
public string Student_mark { get; set; }
}
public class DataService
{
static string connectionString;
public static String Name = "Data Service.";
private static ObservableCollection<Student> _allStudents = new ObservableCollection<Student>();
public static ObservableCollection<Student> GetStudents()
{
try
{
string server = "127.0.0.1";
string database = "sakila";
string user = "root";
string pswd = "!QAZ2wsx";
connectionString = "Server = " + server + ";database = " + database + ";uid = " + user + ";password = " + pswd + ";SslMode=None;";
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
MySqlCommand getCommand = connection.CreateCommand();
getCommand.CommandText = "SELECT * FROM student";
using (MySqlDataReader reader = getCommand.ExecuteReader())
{
while (reader.Read())
{
_allStudents.Add(new Student() { Student_id = reader.GetInt32(0), Student_name = reader.GetString(1), Student_mark = reader.GetString(2) });
}
}
}
}
catch (MySqlException sqlex)
{
// Handle it :)
}
return _allStudents;
}
public static bool InsertNewStudent(Student newStudent)
{
// Insert to the collection and update DB
try
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
MySqlCommand insertCommand = connection.CreateCommand();
insertCommand.CommandText = "INSERT INTO student(student_id, student_name, student_mark)VALUES(@student_id, @student_name,@student_mark)";
insertCommand.Parameters.AddWithValue("@student_id", newStudent.Student_id);
insertCommand.Parameters.AddWithValue("@student_name", newStudent.Student_name);
insertCommand.Parameters.AddWithValue("@student_mark", newStudent.Student_mark);
insertCommand.ExecuteNonQuery();
return true;
}
}
catch (MySqlException sqlex)
{
return false;
}
}
public static bool UpdateStudent(Student Student)
{
try
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
MySqlCommand insertCommand = connection.CreateCommand();
insertCommand.CommandText = "Update student Set student_name= @student_name, [email protected]_mark Where student_id [email protected]_id";
insertCommand.Parameters.AddWithValue("@student_id", Student.Student_id);
insertCommand.Parameters.AddWithValue("@student_name", Student.Student_name);
insertCommand.Parameters.AddWithValue("@student_mark", Student.Student_mark);
insertCommand.ExecuteNonQuery();
return true;
}
}
catch (MySqlException sqlex)
{
// Don't forget to handle it
return false;
}
}
public static bool Delete(Student Student)
{
try
{
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
MySqlCommand insertCommand = connection.CreateCommand();
insertCommand.CommandText = "Delete from sakila.student where student_id [email protected]_id";
insertCommand.Parameters.AddWithValue("@student_id", Student.Student_id);
insertCommand.ExecuteNonQuery();
return true;
}
}
catch (MySqlException sqlex)
{
return false;
}
}
}
für die Datenbank in TwoWay
verbindlich aktualisieren, können wir Umsetzung ist durch die Datenaktualisierungsverfahren in PropertyChanged Ereignis Aufruf wie folgt:
void Person_OnNotifyPropertyChanged(Object sender, PropertyChangedEventArgs e)
{
organization.Update((StudentViewModel)sender);
}
Für die fertige Demo Sieherunterladen.
Welche Art von Datenbank? Wie genau benutzt du es? –
mysql .. zuerst füge ich Studentendaten zur Sammlung hinzu ... und addiere die Sammlungswerte zur Datenbank. Wenn ich die Werte in der Sammlung aktualisiere, sollten auch die Datenbankwerte aktualisiert werden. Ich verwende die gleiche Sammlung zum Hinzufügen neuer Werte und zum Abrufen der vorhandenen Werte. – Manikandan