winform-关于datagridview:通过更新数据源,来更新数据库

问题描述

关于datagridview:通过更新数据源,来更新数据库
dgvHead初始化代码:
  private void dgvHeadInit(int id)
        {

            string sql1 = @"select id,
                            worktimeNo as 工序代码,
                            initialCount as 起始针数,
                            seamDistance as 车缝距离,
                            endCount as 落回针数,
                            initialCount+seamDistance+endCount as [每小时指标(件)],
                            worktimeName as 工序名称,
                            samTime as SAM值,
                            target AS 工序指标,
                            equipment as 使用设备,
                            tool as 使用工具
                        from product_desProductTime
                        where  positation='头部' and pid=" + id + "";
            //string sql1 = "select worktimeNo as 工序代码,initialCount as 起始针数,seamDistance as 车缝距离, endCount as 落回针数,worktimeName as 工序名称,samTime as SAM值,target AS 工序指标,equipment as 使用设备,tool as 使用工具 from product_desProductTime where 1=2";
            //DataTable dt1 = SqlHelp.GetDataTable(CommandType.Text, sql1);
            SqlConnection cn = new SqlConnection("server=172.20.50.4;uid=sa;pwd=p4japo020;database=gsd");
            sda1 = new SqlDataAdapter(sql1, cn);
            ds1 = new DataSet();
            sda1.Fill(ds1);

            ds1.Tables[0].TableName = "product_desProductTime";

            dgvHead.DataSource = ds1.Tables[0];
            dgvHead.Columns["id"].Visible = false;
            // dgv.DataSource = dt1;//分别绑定数据源
            DataRow dr1 = ds1.Tables[0].NewRow();
            ds1.Tables[0].Rows.Add(dr1);

        }
    //更新数据集的方法
        private int UpdateByDataSet(DataSet ds, string strTblName, string strconn)
        {
            try
            {
                SqlConnection cn = new SqlConnection(strconn);
                SqlDataAdapter sda = new SqlDataAdapter();
                SqlCommand cmd = new SqlCommand(@"select id,
                            worktimeNo as 工序代码,
                            initialCount as 起始针数,
                            seamDistance as 车缝距离,
                            endCount as 落回针数,
                            initialCount+seamDistance+endCount as [每小时指标(件)],
                            worktimeName as 工序名称,
                            samTime as SAM值,
                            target AS 工序指标,
                            equipment as 使用设备,
                            tool as 使用工具
                        from " + strTblName+" where  positation='头部' and pid=" + id + "", cn);
                sda.SelectCommand = cmd;
                SqlCommandBuilder cb = new SqlCommandBuilder(sda);
                sda.Update(ds1,strTblName);
                return 0;
            }
            catch (Exception ee)
            {

                MessageBox.Show(ee.ToString());
                return -1;
            }
        }

                保存按钮:
                UpdateByDataSet(ds1, "product_desProductTime",strconn);

问题:为什么我点击保存按钮之后,数据库中的数据并没有修改,但是却增加了一条新的全是null的记录???求大神解答,多谢

解决方案

ds1.Tables[0].Rows.Add(dr1);你这不是增加了一个空行吗

时间: 2025-01-30 18:14:29

winform-关于datagridview:通过更新数据源,来更新数据库的相关文章

Winform中DataGridView绑定IList数据源后的排序的控件

Winform中DataGridView绑定IList数据源后的排序的控件 也是从网上看到的方法,我封装好了 使用方法: 使用方法: IList<Model> aaa = new List<Model>();aaa = Getr();dataGridView1.DataSource = new ZiZhuDi.IListdataGridViewSort.BindingCollection<Model>(aaa); 下载地址:http://download.csdn.ne

Winform中DataGridView绑定IList数据源后的排序

首先,实现ICompare接口 public class ObjectPropertyCompare<T> : IComparer<T> {private PropertyDescriptor property;private ListSortDirection direction; // 构造函数 public ObjectPropertyCompare(PropertyDescriptor property, ListSortDirection direction) {this

数据源绑定的datagridview和combobox如何实时更新数据

问题描述 数据源绑定的datagridview和combobox如何实时更新数据 经过绑定,数据源更新后,空间里的数据并不能及时更新,要重新打开窗口才可!

datagridview更新数据源怎么实现

问题描述 vs2008的winform,使用控件datagridview,数据库使用的是oracle数据库,应该怎么实现在datagridview里修改数据,更新到数据库,刷新后显示新的表,求代码,代码如下usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;using

c#-在datagridview中修改数据,为什么数据库没有更新

问题描述 在datagridview中修改数据,为什么数据库没有更新 string connstr = "Provider=Microsoft.Jet.OleDb.4.0;"; connstr += @"Data Source=D:Merger201503016caohuanGEARCNC.mdb";//创建连接对象 OleDbConnection tempconn = new OleDbConnection(connstr); tempconn.Open(); O

WPF 自带Datagrid编辑后无法更新数据源的问题

原文  WPF 自带Datagrid编辑后无法更新数据源的问题 解决办法: 在列的绑定属性里加上UpdateSourceTrigger,示例XAML如下 <DataGrid Grid.Row="1" Height="274" HorizontalAlignment="Left" Margin="12,10,0,0" Name="dataGrid2" VerticalAlignment="To

C# WINFORM 在datagridview里修改数据出现问题

问题描述 C# WINFORM 在datagridview里修改数据出现问题 datagridview绑定数据库,在其中直接修改数据时候,第一次可以修改成功,但是如果进行多次修改就会无法修改数据.恳请高手解答,相关代码如下: private DataTable DT = new DataTable(); //全局变量 private SqlDataAdapter SDA = new SqlDataAdapter(); // #region 载入datagridview数据(Page1) publ

Winform的datagridview问题

这是我最近和网友一起看的一个关于Winform的datagridview问题.就在这一问一答当中,也有一些误解,最后才弄明白是Winform的datagridview问题,而不是asp.net的gridview.也算是教训,沟通的时候首先要问清楚平台,应用程序的类型,然后再到细节.以下是聊天记录. TBD 21:33:12 在不呢, TBD 21:33:40 请问Datagridvie控件问题 TBD 21:33:54 请问Datagridview控件问题 TBD 21:35:52 我在data

WinForm中DataGridView折叠控件【超好看】_实用技巧

刚到一家新公司,领导下发任务要用cs系统做一个表格折叠显示,这真是把我难倒了,自己工作6年一直以来都是做BS的系统.这如果在BS里面那太简单了,JqGrid默认都自带,可是DataGridview不支持折叠啊.自己一点经验没有,怎么办呢?于是上网搜了相关视频,资料,开始学习起来.最后借鉴源码封了这么一个东西,发出来分享下,也能让自己加深印象. 首先不多说,上图.如果大家感谢还不错,请继续往下阅读: 大概的效果就是这样. 上代码. 1.首先重写DataGridview,代码如下: public c