怎么将dataGridView中的数据添加到SQL数据库中

在  sa.Update((DataTable)bs.DataSource); 之前添加

SqlCommandBuilderbu = new SqlCommandBuilder( sa);试一下。 

我不知道你写那么多代码是要解决什么问题,如果是要将dataGridView中所作的变更都体现到DB中的话那么你可以尝试以下操作
1、用 SqlDataAdapter的 Fill方法填充一个 DataSet
2、将这个 DataSet 绑定到 dataGridView.DataSource
3、对 dataGridView 中的数据进行修改
4、用 SqlCommandBuilderbu  生成用于协调 DataSet 的更改与关联数据库的单表命令。
5、用 SqlDataAdapter的 Update 方法更新这个 DataSet

参考代码:
1、绑定 dataGridView
string ConnectionString 
= "Data Source=TEST;Persist Security Info=True;User ID=my_new;Password=test";
  
DataSet ds = new DataSet();
OracleConnection conn;
OracleDataAdapter da;

da = new OracleDataAdapter( "select t.* from cm_general_case_info_t t", conn );
ds.Clear(); 
da.Fill( ds, "UserInfo" );
conn.Close();
this.dataGridView1.DataSource = ds.Tables["UserInfo"];

2、更新dataGridView
DataTable dt = ( DataTable )dataGridView1.DataSource;
OracleCommandBuilder bu = new OracleCommandBuilder( da );
da.Update( ds.Tables["UserInfo"] );

我给的代码是用 ADO.NET System.Data.OracleClient 命名空间 下的类,你只要改成对应的 System.Data.SqlClient 命名空间中的类即可。

你可能感兴趣的:(sql,数据库,datagridview)