DataGrid からデータベースを更新するために使用したこのコードがあります
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace datagrid
{
public partial class Form1 : Form
{
private MySqlConnection conn;
private DataTable data;
private MySqlDataAdapter da;
private MySqlCommandBuilder cb;
public Form1()
{
InitializeComponent();
}
private void btnshow_Click(object sender, EventArgs e)
{
string c = "server=localhost;database=std;uid=root;password=";
conn = new MySqlConnection(c);
conn.Open();
data = new DataTable();
da = new MySqlDataAdapter("SELECT * FROM general",conn);
cb = new MySqlCommandBuilder(da);
da.Fill(data);
dataGridView1.DataSource = data;
}
private void btnupdate_Click(object sender, EventArgs e)
{
DataTable changes = data.GetChanges();
da.Update(changes);
data.AcceptChanges();
}
}
}
更新ボタンを押すと、次の例外が表示されます。
{"UpdateCommand の動的 SQL 生成は、キー列情報を返さない SelectCommand に対してはサポートされていません。"}
今、私は何をすべきか教えてください。