C# - 上次编辑的文本框未保存到数据库

Posted

技术标签:

【中文标题】C# - 上次编辑的文本框未保存到数据库【英文标题】:C# -Last edited Textbox not being saved to database 【发布时间】:2016-12-18 04:47:57 【问题描述】:

我有一个用于从 SQL 数据库输入和检索数据的 C# 程序。通常它工作得很好,但是我试图找出一个保存错误。它发生在这种特定情况下。

我更新绑定文本框中的数据。 不离开文本框,然后按保存按钮。

当我这样做时,绑定文本框中的数据不会保存到 SQL 数据库中。

这是程序

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Entity;
namespace Labassist2017

public partial class Form1 : Form


    //Declare entity objects
    //____________________________________________________________________________________________
    public Lab_Assistant_backendEntities Database_Backend;
    public DbSet Sample_Register;
    public DbSet Product;

    //____________________________________________________________________________________________

    public Form1()
    
        InitializeComponent();
    

    private void Form1_Load(object sender, EventArgs e)
    
        Load_Data();
    
    public void Load_Data()
    
        Database_Backend = new Lab_Assistant_backendEntities();
        Sample_Register = Database_Backend.Sample_Register;
        Sample_Register.Load();
        sample_RegisterBindingSource.DataSource = Sample_Register.Local;
        Product = Database_Backend.Products;
        Product.Load();
        productBindingSource.DataSource = Product.Local;
    
    private void Link_To_Form()
    

    

    private void sample_RegisterBindingNavigatorSaveItem_Click(object sender, EventArgs e)
    
        Save();

    
    public void Save()
    
        Database_Backend.SaveChanges();

    


数据在以下情况下保存。

我更新绑定文本框中的数据。 我离开文本框,然后按保存按钮。

澄清:当我说离开时,我的意思是按 Tab 键并退出文本框,使其不再具有焦点。

为什么会这样?

【问题讨论】:

您好!请仔细阅读:***.com/help/how-to-ask :)。另外,你能发布一些代码吗? 离开文本框是什么意思,提供用于保存数据的代码以及事件处理程序。你确定你使用的是按钮点击事件处理程序吗? 嗨,伙计,我按 Tab 键并离开文本框,使其不再具有焦点。如果我更改其中的文本并且不将焦点移动到另一个对象,则数据不会保存。 【参考方案1】:

我需要做的是在我的保存方法中调用 .EndEdit()。

【讨论】:

以上是关于C# - 上次编辑的文本框未保存到数据库的主要内容,如果未能解决你的问题,请参考以下文章

Ajax AutoCompleteExtender文本框未在边缘浏览器中触发文本更改事件

预输入数据列表文本框未重置

IsEnabled="False" 状态的 WPF 文本框未应用正确的背景颜色

访问表单的文本框未显示值

请问在c# winform中怎么将文本框中的数值保存到数据库中money类型的字段中???

QT 文本编辑器 - 文本从上次保存更改?