使用SqlCommandBuilder类和SqlDataAdapter类相结合。
看下面示例
============================// 连接字符串及 SQL 语句
string ConnString = "Server=(local); User id=sa; Pwd=; Database=Northwind;";
string Sql = "SELECT CustomerID,CompanyName,Country FROM Customers"; // 连接 SqlConnection 对象,并和 SqlDataAdapter 关联
SqlConnection thisConnection = new SqlConnection(ConnString);
SqlDataAdapter adapter = new SqlDataAdapter(Sql, thisConnection); // 创建 DataSet 对象
DataSet data = new DataSet(); // 创建 SqlCommandBuilder 对象,并和 SqlDataAdapter 关联
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
adapter.Fill(data, "Customers"); // 修改 DataSet 的内容
data.Tables["Customers"].Rows[0]["CompanyName"] = "CompanyName1";
data.Tables["Customers"].Rows[0]["Country"] = "AAAA";
data.Tables["Customers"].Rows[1]["CompanyName"] = "CompanyName2";
data.Tables["Customers"].Rows[1]["Country"] = "BBBB"; // 在 DataSet 中新增行
DataRow newRow = data.Tables["Customers"].NewRow();
newRow["CustomerID"] = "New";
newRow["CompanyName"] = "New CompanyName";
newRow["Country"] = "New Country";
data.Tables["Customers"].Rows.Add(newRow); // 从 DataSet 更新 SQL Server 数据库
adapter.Update(data, "Customers");

解决方案 »

  1.   

    这样是很难知道哪里错的,不过我猜想可能是你的sql语句中得select语句中只是查询了一个字段。用update命令时,你也可以自己定义insert插入语句的具体代码的。
      

  2.   

    可能你的sql语句有问题,贴出来看看
      

  3.   

    就是说你修改的字段并不在你的查询语句里面,就会出错。而且这样用虽然方便,但是运行速度会比自己写sql语句慢
      

  4.   

    编译器不是告诉你了吗?
    ==》INSERT INTO 语句的语法错误。
    好好检查这个语句!