В моей базе данных есть таблица с именем "TB1". Я хочу обновить свою SQL
базу данных из dataGridview
элемента управления, когда я изменяю ее данные и нажимаю на обновление button
, но возникает ошибка.
Ошибка:
System.InvalidOperationException: Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.
at System.Data.Common.DbDataAdapter.UpdatingRowStatusErrors(RowUpdatingEventArgs rowUpdatedEvent, DataRow dataRow)
at System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping) at System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)
at System.Data.Common.DbDataAdapter.Update(DataSet dataSet, String srcTable)
Что с этим не так?
> public partial class Form1 : Form
> {
>
> SqlConnection con;
> SqlDataAdapter adapt;
> DataSet ds;
> SqlCommandBuilder cmdbl;
>
> public Form1()
> {
> InitializeComponent();
>
> }
> private void Form1_Load(object sender, EventArgs e)
> {
> con = new SqlConnection();
> con.ConnectionString= (@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=H:\New\RemDaBase.mdf;Integrated
> Security=True;Connect Timeout=30");
> con.Open();
> adapt = new SqlDataAdapter("SELECT * FROM TB1", con);
> ds = new DataSet();
> adapt.Fill(ds, "TB1");
> dataGridView1.DataSource = ds.Tables[0];
> }
>
> private void button1_Click(object sender, EventArgs e)
> {
> try
> {
> cmdbl = new SqlCommandBuilder(adapt);
> adapt.Update(ds, "TB1");
> MessageBox.Show("Updated Successfully");
> }
> catch (Exception ex)
> {
> MessageBox.Show(ex.ToString());
>
> }
> }
> }