C# WinForm に dataGridView、textBoxFirstName、buttonSelect、buttonUpdate があります。質問の最後にコードがあります。
buttonSelect ボタンをクリックすると、選択結果が dataGridView と textBoxFirstName に問題なく表示されます。dataGridView から別のレコードを選択すると、textBoxFirstName も自動的に更新されます。
dataGridView から「FirstName」フィールドを変更して buttonUpdate をクリックすると、FirstName フィールドは問題なくデータベースに保存されています。
しかし、textBoxFirstName から "FirstName" を変更すると、buttonUpdate をクリックしてもデータがデータベースに保存されません。
textBoxFirstName から変更が行われ、buttonUpdate がクリックされたときに、FirstName フィールドをデータベースに保存するにはどうすればよいですか?
ありがとうございました。
public partial class Form1 : Form
{
private const string connectionString = "Server=localhost;Database=AdventureWorks2008R2;Trusted_Connection=True";
private SqlConnection con;
private SqlDataAdapter dataAdapter;
public Form1()
{
InitializeComponent();
con = new SqlConnection(connectionString);
}
private void FillGrid(string sqlCommand)
{
dataAdapter = new SqlDataAdapter(sqlCommand, con);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
DataTable dataTable = new DataTable();
dataAdapter.Fill(dataTable);
dataGridView.DataSource = dataTable;
textBoxFirstName.DataBindings.Clear();
textBoxFirstName.DataBindings.Add("Text", dataTable, "FirstName");
}
private void buttonSelect_Click(object sender, EventArgs e)
{
FillGrid("SELECT TOP 100 * FROM Person.Person");
}
private void buttonUpdate_Click(object sender, EventArgs e)
{
dataAdapter.Update((DataTable)dataGridView.DataSource);
}
}