问题
I have created a database using SQLite which store student details including
Student Name (String)
Student Password (String)
Student ID (String)
Student Attendance(Boolean)
In my solution, there are 3 view controller as describe below:
ViewController1 : Table View, Display List of Students.
ViewController2 : Normal View Controller with 3 text field and 1 switch button to get all 4 user detail.
ViewController3 : A button that enable user to tap, and turn the attendance (boolean) to on.
I would like to update a specific student (eg. StudentName = Apple) data using ViewController3's button.
To insert new student data, code should be like this: *(By default, the Attendance is "false")
void SaveButton_Clicked(object sender, EventArgs e)
{
using (var connection = new SQLite.SQLiteConnection(pathToDatabase))
{
connection.Insert(new Student() { StudentName = AddStuNameTxt.Text, StudentId = AddStuIdTxt.Text, StudentPassword = AddStuPassTxt.Text, StudentAttendence = false});
new UIAlertView("Updated !", "Student successfully created", null, "OK", null).Show();
}
}
But if I want to update the "Attendance"(Boolean) to true in ViewController3 where student named is "Apple". May i know how to do that?
回答1:
Use code below, Where ever you need like inside button click event. But I would suggest you do this using StudentId instead of StudentName.
//get specific student record
var studentItem=GetSingleRecord("Apple")
studentItem.Attendance=true;
//update record afermodification
UpdateContact(studentItem)
Above used method look like this.
public Student GetSingleRecord(string Name)
{
return connection.Table<Student>().FirstOrDefault(i => i.StudentName == Name);
}
public void UpdateContact(Student obj)
{
connection.Update(obj);
}
来源:https://stackoverflow.com/questions/51906245/how-to-update-specific-data-into-sqlite-in-xamarin