SqlDataAdapter.Update(数据表)不工作(不更新数据库)

     2023-05-08     115

关键词:

【中文标题】SqlDataAdapter.Update(数据表)不工作(不更新数据库)【英文标题】:SqlDataAdapter.Update (data table) is not working (not updating the database) 【发布时间】:2016-04-05 16:34:30 【问题描述】:

我有下面的代码,我试图从 Windows 应用程序中所做的 c# 网格视图更改更新数据库....

代码未更新 SQL Server 数据库。我不确定问题到底发生在哪里。一切似乎都很好......

或者有没有办法再次使用“更新查询语句”来更新数据库表,重点是如何为数据网格视图中的任何值更改编写更新语句?

我认为绑定和选择命令语句可能存在问题...

谁能指出我解决这个问题的正确方向?

public partial class KnowledgeBaseForm : Form

    private SqlDataAdapter SDA = new SqlDataAdapter();
    private DataTable DT = new DataTable();

    private void button_retrievekb_Click(object sender, EventArgs e)
    
        try
        
            con.Open();
            SqlDataAdapter SDA = new SqlDataAdapter(@"SELECT * From Table1", con);

            SDA.Fill(DT);

            bindingsource.DataSource = DT;
            dataGridView.DataSource = bindingsource;

            if (DT.Rows.Count > 0)
            
                dataGridView.Columns[0].DefaultCellStyle.ForeColor = Color.Gray;
                dataGridView.Columns[0].ReadOnly = true;
            
            else
            
                MessageBox.Show("No Knowledge Base Rules Found");
            
        
        catch (Exception ex)
        
            MessageBox.Show("Error : " + ex.Message);
        
        finally
        
            con.Close();
        
       

    private void button_update_Click(object sender, EventArgs e)
    
        if (MessageBox.Show("Do you really want to Update these values?", "Confirm Update", MessageBoxButtons.YesNo) == DialogResult.Yes)
        
            //binding the datasource with the changes made in the gridview
            bindingsource.DataSource = dataGridView.DataSource;
            DT.AcceptChanges();
            scb = new SqlCommandBuilder(SDA);                 
            SDA.Update((DataTable) bindingsource.DataSource);
            MessageBox.Show("Updates successfully submitted to CoSD");
        
    

【问题讨论】:

在类根中声明您的 DT 对象,如您的 DataAdapter,并在调用 SDA.Update 之前使用 DT.AcceptChanges,测试它,如果它有效,现在让我们来 嗨...我已经按照你说的编辑了代码...但仍然没有工作... 【参考方案1】:

试试这个:

public partial class KnowledgeBaseForm : Form
    
     SqlDataAdapter SDA = new SqlDataAdapter();
     DataTable DT = new DataTable();
     DataSet ds = new DataSet();
    private void button_retrievekb_Click(object sender, EventArgs e)
            

               SDA = new SqlDataAdapter(@"SELECT * From Table1", con);
               ds = new DataSet();
               SDA.fill(ds,"SomeName");
               dataGridView1.DataSource = ds.Tables[0];
            

    private void button_update_Click(object sender, EventArgs e)
          


            if (MessageBox.Show("Do you really want to Update these values?", "Confirm Update", MessageBoxButtons.YesNo) == DialogResult.Yes)
            
               SqlCommandBuilder builder = new SqlCommandBuilder(SDA);
               SDA.Update(ds,"SomeNme");

            
          
    

【讨论】:

SqlDataAdapter.update() 不更新数据库

】SqlDataAdapter.update()不更新数据库【英文标题】:SqlDataAdapter.update()notupdatingdatabase【发布时间】:2015-04-0704:22:47【问题描述】:我正在使用SqlDataAdapter在PostLikes表中搜索(PostId,UserId),如果找到该行,我正在使用SqlCommandBuilder.GetDelet... 查看详情

SqlDataAdapter.Update(数据表)不工作(不更新数据库)

】SqlDataAdapter.Update(数据表)不工作(不更新数据库)【英文标题】:SqlDataAdapter.Update(datatable)isnotworking(notupdatingthedatabase)【发布时间】:2016-04-0516:34:30【问题描述】:我有下面的代码,我试图从Windows应用程序中所做的c#网格视... 查看详情

200万条记录的SqlDataAdapter.Update()速度极慢

】200万条记录的SqlDataAdapter.Update()速度极慢【英文标题】:SqlDataAdapter.Update()of2millionrecordsisextremelyslow【发布时间】:2019-04-3009:22:51【问题描述】:我有一个客户希望每天将他的子客户价格工具(超过2.000.000条记录)导入SQLServer数... 查看详情

在 SqlDataAdapter.Update() 中获取错误消息

】在SqlDataAdapter.Update()中获取错误消息【英文标题】:GettingerrormessageinSqlDataAdapter.Update()【发布时间】:2016-07-1419:43:38【问题描述】:我有一个数据库表(在本例中为空)createtablewords(idintnotnull,wordnvarchar(50)notnull)还有一个DataGridVie... 查看详情

当 RowState = Modified 时 SQLDataAdapter.Update() 不更新

】当RowState=Modified时SQLDataAdapter.Update()不更新【英文标题】:SQLDataAdapter.Update()notUpdatingwhenRowState=Modified【发布时间】:2018-05-1516:41:39【问题描述】:我正在尝试设置一个程序,当用户更新项目描述时,将在保存表单时更新数据库... 查看详情

使用带参数的 SqlDataAdapter.Update()

】使用带参数的SqlDataAdapter.Update()【英文标题】:UsingSqlDataAdapter.Update()withParameters【发布时间】:2011-08-2614:20:32【问题描述】:如何尝试通过参数化查询找出如何使用SqlDataAdapter.Update(DataTable)方法。如何在不遍历整个DataTable的情... 查看详情

使用 SqlDataAdapter.Update 方法时复制表行

】使用SqlDataAdapter.Update方法时复制表行【英文标题】:DuplicatingtablerowswhenusingSqlDataAdapter.UpdateMethod【发布时间】:2013-11-0403:08:40【问题描述】:在我的项目中,我有表格“产品”。IDNamePrice------------------1xyz1002abc2003pqr300在我的c#代... 查看详情

SqlDataAdapter.Update(dataset) 方法插入新行但不更新现有行

】SqlDataAdapter.Update(dataset)方法插入新行但不更新现有行【英文标题】:SqlDataAdapter.Update(dataset)methodinsertsnewrowsbutdoesnotupdatesexistingrows【发布时间】:2014-06-0114:56:49【问题描述】:我正在创建具有DataGrigView来呈现表格的winform应用程... 查看详情

SqlDataAdapter.Update 直到第二次更新才写入表

】SqlDataAdapter.Update直到第二次更新才写入表【英文标题】:SqlDataAdapter.Updatenotwritingtotableuntilsecondupdate【发布时间】:2014-08-0201:15:03【问题描述】:我有一个用C#2010Express开发的程序,它的表单由一个DataGridView组成,下面有一个单... 查看详情

如果我将列值“更改”为已经存在的值,会调用 UPDATE 吗?

...需要额外的逻辑来避免对我的SQL数据库的无用调用,或者SqlDataAdapter.Update()是否会做正确的事情。如果我有这个代码:SqlCon 查看详情

datatable数据批量写入数据库三种方法比较

DataTable数据批量写入数据库三种方法比较标签:it 分类:C#1)  insert循环插入;2)  sqldataadapter.update(dataset,tablename);3)  sqlbulkcopy.WriteToServer(datatable);1、生成测试的datatable表,表结构如下:UniqueID(主 查看详情

酒店管理系统无法向数据库插入新的记录,提示列“入住日期”不允许为nulls,急求!!

...,"客人信息表").EndCurrentEdit()'将数据返回数据集SqlDataAdapter2.Update(Ds1,"客人信息表")'更新数据,返回数据源Ds1.Tables("客人信息表").Clear()'以下代码把选择了的房间的"状态"字段更新为"营业中&... 查看详情

Mono C# SQL 更新“并发冲突”

...:2009-07-1015:24:22【问题描述】:每次我尝试通过Mono中的SqlDataAdapter.Update()更新一行时,我都会得到:未处理的异常:System.Data.DBConcurrencyException:并发冲突:UpdateCommand影响了0条记录。 查看详情

c#怎样才能实现客户端通过服务器端连接数据库服务器???

...行解压缩、和反序列化为DataTable7.再将DataTable通过DataSet和SqlDataAdapter.Update(Table)存在SQL中下面我只给一些关键的代码,我有实现过的第一步.客户端==》连接服务器并通讯,主要是发送SQL给服务器返回一个DataTable表usingSystem;usingSystem... 查看详情

Primefaces数据表更新数据表

】Primefaces数据表更新数据表【英文标题】:Primefacesdatatableupdatedatatable【发布时间】:2015-03-0409:03:15【问题描述】:我对primefaces数据表有疑问。我有一个包含一些条目的数据表和一个带有按钮的列。如果按下按钮,则会使用另一... 查看详情

如何查看数据表及数据表结构

    我们创建好了数据表,那么我们该怎么去查看数据表列表呢?      一、查看数据表列表的语法结构  SHOWTABLES[FROMdb_name][LIKE‘pattern’|WHEREexpr]  FROMdb_name表示,我们不仅可以查看当前数据库... 查看详情

如何使用 Linq 过滤数据表到数据表?

】如何使用Linq过滤数据表到数据表?【英文标题】:HowIcanfilteradataTablewithLinqtodatatable?【发布时间】:2013-10-2706:49:58【问题描述】:嗨,我如何使用linq过滤数据表到数据表?我有一个DropDownList,在那里我可以选择Modul列的值。现... 查看详情

将数据表列附加到其他数据表

】将数据表列附加到其他数据表【英文标题】:Appenddatatablecolumntootherdatatable【发布时间】:2020-11-2103:22:36【问题描述】:我有两个数据表。第一个有多行具有相同的“IPC”值但不同的“Subordination”值。像这样:enterimagedescriptionh... 查看详情