Так что я пытаюсь иметь DataGridView, который подключен к базе данных, с некоторыми текстовыми полями и кнопкой для добавления дополнительных данных в БД. Я могу обновить таблицу, но не могу ее правильно обновить.C# Обновление набора данных и DataGridView
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ParametSampleApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'database1DataSet.Table' table. You can move, or remove it, as needed.
this.tableTableAdapter1.Fill(this.database1DataSet.Table);
}
private void btnAdd_Click(object sender, EventArgs e)
{
DataRow newUserRow = database1DataSet.Tables["Table"].NewRow();
newUserRow["FirstName"] = txtFName.Text;
newUserRow["LastName"] = txtLName.Text;
newUserRow["PostCode"] = txtPostcode.Text;
newUserRow["OperatingSystem"] = txtOS.Text;
database1DataSet.Tables["Table"].Rows.Add(newUserRow);
this.tableTableAdapter1.Update(this.database1DataSet.Table);
}
}
}
Если вам нужен ZIP-проект, чтобы получить более легкое понимание, я могу легко загрузить и отправить.
Возможно, стоит отметить, что я использовал графический интерфейс DataGridView для настройки соединения, поэтому автоматически создавались мои DataSet, BindingSource и TableTableAdaper.
Что вы имеете в виду под «не может заставить его правильно обновляться»? Вы получаете исключение? Остается база данных пуста? Есть ли ценность, которую вы не ожидаете? ... –
Когда вызывается tableadapter.Update, он ищет измененные строки и для каждой измененной строки вызывает объект UpdateCommand на адаптере, передавая поля для datarow: вы можете проверить, что находится в SQL для вашего объекта UpdateCommand. –
Thomas, я имел в виду, что сами данные не вернутся в базу данных, это будет отображаться на столе, но не в реальной базе данных. Рик, хорошо знать, но код, который вы видите, это все, что я добавил, нет внешних классов, и я не слишком уверен, где найти объект UpdateCommand. Если нужно, я могу забросить весь проект на GitHub, чтобы вы могли более внимательно посмотреть. –