zoukankan      html  css  js  c++  java
  • dataGridView更新数据库

    C#winform   dataGridView更新数据库

     dataGridView更新数据库可以分2中情况:

    1 dataGridView更新数据库自定义数据源更新数据库,

    2  dataGridView数据源控件更新数据库。

    当dataGridView控件启用了编辑、删除功能,你编辑了dataGridView中到列该dataGridView对应到dataset中到数据也会跟着更新但要把数据更新到数据库还需要一些代码到支持。

    我们先说第一种情况:dataGridView更新数据库自定义数据源更新数据库

    1)当数据库表有主键时,我们可通过全局变量dataset或者datatable,利用DataAdapter.Update()更新到数据库。

    public partial class Form1 : Form
        {
            private DataTable DT = new DataTable();
           private SqlDataAdapter SDA = new SqlDataAdapter();

            public Form1()
            {
                 InitializeComponent();
             }

            private void Form1_Load(object sender, EventArgs e)
            {

                 SqlConnection conn = new SqlConnection("server=127.0.0.1;database=pubs;uid=sa");
                 SqlCommand SCD = new SqlCommand("select * from tables", conn);
                 SDA.SelectCommand = SCD;
                 SDA.Fill(DT);
                 dataGridView1.DataSource = DT;
             }


    #region   使用Update更新数据库
            private void button_save_Click(object sender, EventArgs e)
            {
                try
                {
                     SqlCommandBuilder SCB = new SqlCommandBuilder(SDA);               
                     SDA.Update(DT);
                 }
                catch (System.Exception ex)
                {
                     MessageBox.Show(ex.ToString());
                    return;
                 }
                 MessageBox.Show("更新成功!");
             }
    #endregion
     

    2)当数据库表没有主键时,要通过读取dataGridView改变到数据行通过SQL语句更新数据库(这个没用试暂时没有代码)。其实每个表都应该有主键到,哪怕说自增的。

    2  dataGridView数据源控件更新数据库。

    当dataGridView到数据源是数据源控件控件时,更新变到简单多了(也需要有主键)。我们看到页面底部里有一个TableAdapter(注意这里不是DataAdapter),该TableAdapter已经绑定CommandBuilder只须调用TableAdapter.update(ds.表名)就可以搞定。dataset也说有到,所以这个相对简单到多。

  • 相关阅读:
    【IDEA】项目最好强制 utf-8,换行符强制 Unix格式,制表符4个空格
    【Maven】有关 snapshots、releases 的说明
    【Maven】与私服有关的本地操作(上传、拉取jar包;版本发布)
    【Maven】nexus 安装(基于docker)
    【Maven】maven命令(编译、打包、安装、发布)区别
    【Linux、Centos7】添加中文拼音输入
    生成器、列表推导式、生成器表达式
    列表:python基础数据类型
    数据类型之间转化、字符串学习
    while 循环、格式化输出、运算符
  • 原文地址:https://www.cnblogs.com/CCJVL/p/1693578.html
Copyright © 2011-2022 走看看