C#示例代码如下:

using System.Data;
using System.Data.SqlClient;

public partial class Form1 : Form
    {

DataSet ds =new DataSet();
        SqlDataAdapter da=new SqlDataAdapter();
        SqlCommandBuilder cb=new SqlCommandBuilder();
        SqlCommand cmd=new SqlCommand();
        private string sql = "select * from TEST_Table";
        private string connString = "Data Source=.;User ID=sa;Password=123;Initial Catalog=Test;";

private void Form1_Load(object sender, EventArgs e)
        {

SqlConnection conn = new SqlConnection(connString);
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);

// cmd = conn.CreateCommand();
            // cmd.CommandText = "select * from TEST_Table";
            // SqlDataAdapter da = new SqlDataAdapter(cmd);

// private string tableName = "test";
            //da.Fill(ds, "test");
            //dataGridView1.DataSource = ds.Tables[tableName];

da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
        }

private void button1_Click(object sender, EventArgs e) //保存修改
        {
            SqlConnection conn = new SqlConnection(connString);
            cmd = conn.CreateCommand();
            cmd.CommandText = "select * from Test_Table";
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            SqlCommandBuilder cb = new SqlCommandBuilder(da);
         da.Update(ds);
         dataGridView1.Update();
        }
    }

--------------------------------------------------------------------------------------结束

保存的重点就在于使用了SqlCommandBuilder 成员,SqlCommandBuilder 成员的说明如下:

备注

SqlDataAdapter 不会自动生成实现 DataSet 的更改与关联的 SQL Server 实例之间的协调所需的 Transact-SQL 语句。但是,如果设置了 SqlDataAdapter 的 SelectCommand 属性,则可以创建一个 SqlCommandBuilder 对象来自动生成用于单表更新的 Transact-SQL 语句。然后,SqlCommandBuilder 将生成其他任何未设置的 Transact-SQL 语句。

一旦设置 DataAdapter 属性,SqlCommandBuilder 就将其自身注册为 RowUpdating 事件的侦听器。一次只能将一个 SqlDataAdapter 与一个 SqlCommandBuilder 对象(或相反)互相关联。

为了生成 INSERT、UPDATE 或 DELETE 语句,SqlCommandBuilder 会自动使用 SelectCommand 属性来检索所需的元数据集。如果在检索元数据后(例如在第一次更新后)更改 SelectCommand,则应调用 RefreshSchema 方法来更新元数据。

SelectCommand 还必须至少返回一个主键列或唯一的列。如果什么都没有返回,就会产生 InvalidOperation 异常,不生成命令。

SqlCommandBuilder 还使用由 SelectCommand 引用的 Connection、CommandTimeout 和 Transaction 属性。如果修改了任何这些属性或者替换了 SelectCommand 本身,用户则应调用 RefreshSchema。否则,InsertCommand、UpdateCommand 和 DeleteCommand 属性将保留它们以前的值。

如果调用 Dispose,则会解除 SqlCommandBuilderSqlDataAdapter 的关联,并且不再使用所生成的命令。

将dataGridView中的添加/删除等修改保存至数据库相关推荐

  1. 隐藏添加删除程序中的程序在控制面板中的“添加/删除程序”项

    隐藏添加删除程序中的程序在控制面板中的"添加/删除程序"项是我们要卸载程序一个程序最彻底的地方.但很多时候为了防止自己安装的程序不被别人卸载,我们希望能够在"添加/删除程 ...

  2. 彻底解决Fedora 6 中的添加删除与升级(转自网上)

    彻底解决Fedora 6 中的添加删除与升级 [作者:syd168] Fedora给广大Linux爱好者提供了很好的锻炼机会.但Fedora每次的发行版本都存在这样那样的问题.这不,刚安装完的系统,没 ...

  3. php修改新闻分类代码,完整的新闻无限级分类代码,可添加,删除,移动,修改

    //连接数据库教程 $link = mysql教程_connect('localhost','root','密码') or die(mysql_error()); mysql_select_db('s ...

  4. Krpano全景:在javascript中动态添加/删除/修改(位置)热点(向后端写入)

    目录 接下来看在JS中的方法: 1.手动添加热点(点击图上添加点) 2.查找热点 3.修改热点 4.删除热点 其他方法 作为管理员,在管理全景时会涉及到各个标签的操作,本篇文章介绍在JS中对热点的操作 ...

  5. Krpano学习:在javascript中动态添加/删除/修改(位置)热点(向后端写入)

    作为管理员,在管理全景时会涉及到各个标签的操作,本篇文章介绍在JS中对热点的操作,其数据可传到后端并写入数据库. 首先先给一个在xml文件中的动态热点添加的方法,下面的代码直接把两个url图片换了就可 ...

  6. linux打理ftp用户,Linux中如何添加/删除FTP用户并设置权限

    在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被设置用户名为test.被限制路径为/home/test 2.创建建用户:在root用户下: userad ...

  7. SQL2K数据库开发七之表操作添加删除和修改列

    1.在已有的表中添加.删除和修改列可以使用Transact-SQL中的ALTER TABLE语句,使用ALTER TABLE语句的语法为: 2.在SQL Server查询分析器中输入如下语句,往Pro ...

  8. WPS中编辑Word删除内容之后保存退出了如何恢复?

    目录 一.问题简述 二.Word用户(场景一) 情况一:删除了内容没有退出文档 情况二:删除了内容退出文档 情况三:删除了文件退出文档 三.Wps用户(场景二) 情况一:删除了内容没有退出文档 情况二 ...

  9. 结合前段修改mysql表数据_jquery实现点击文字可编辑并修改保存至数据库

    这个方法网上可以查到很多,但是好多只有点击文字编辑并保持,但是没有完整的代码写怎么保存到数据库.因为本人才疏学浅,费啦好长时间才写好把修改的内容只用一条sql语句保存到数据库,今天在这里和大家分享 这 ...

最新文章

  1. Bicolor软件 中 GATB
  2. ML之Xgboost:利用Xgboost模型对数据集(比马印第安人糖尿病)进行二分类预测(5年内是否患糖尿病)
  3. Python基础教程:连接列表的八种方法,你都知道吗?
  4. “你们对编程和头发一无所知。”
  5. 递增输出链表结点,删除重复结点
  6. Bootstrap3 Font Awesome 字体图标带边框的图标
  7. Mycat 不适应场景
  8. storyboard 苹果启动图_iOS LaunchScreen.storyboard启动图更新
  9. 一、annotation
  10. 没事学学docker(二):本地Centos7和阿里云服务器安装docker及其解决安装出现的问题
  11. 网页版-抽签程序源码
  12. Linux各类日志查看
  13. (附源码)Python学生兼职平台系统 毕业设计 160938
  14. 【数学模型】基于Volterra理论的捕食模型
  15. Qt Creator实现动画效果(单个动画)
  16. 下面哪个不是python常用的开发工具_Python程序员常用的IDE和其它开发工具
  17. 2.4 线性丢番图方程
  18. 五,华为路由器单臂路由配置子接口dot1.q
  19. python根据经纬度转换详细地址_基于python实现地址和经纬度转换
  20. win7蓝屏_紧急通知!Win7电脑集体蓝屏,错误代码F4

热门文章

  1. 环境变量的添加和管理
  2. android如何打印图片格式,打印照片  |  Android 开发者  |  Android Developers
  3. java实现歌词滚动,jQuery实现的简单歌词滚动功能示例
  4. C#旅程——串口发送数据
  5. 案例1 分时显示不同图片,显示不同的问候语
  6. 华为中级认证HCIP知识点总结,网工收藏
  7. USB转串口 模拟 PPS+GPRMC 进行授时
  8. python 处理.docx文件
  9. xv6---Lab1: Xv6 and Unix utilities
  10. 《人生若只如初见》这本书里最动人的句子