Адаптер связанной таблицы C # не обновляется до тех пор, пока не будет вызван дважды

#c# #.net-4.0 #tableadapter

#c# #.net-4.0 #tableadapter

Вопрос:

Новичок в C # из vb.net и пока я просто делаю несколько макетных приложений с привязкой. У меня проблемы со следующим кодом. Если я рисую изображение и выхожу из приложения, изменений нет. Даже если я переместил строку. Однако, если я загружаю изображение, перейдите в другую строку, а затем добавьте другое изображение. После выхода из приложения первое изображение будет там, но не второе.

Короче говоря, я должен попытаться загрузить в другую запись, прежде чем это сделает запись, которую я действительно хочу обновить.

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace DBUserManagement
{    
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'dsUsers.Users' table. You can move, or remove it, as needed.
            this.usersTableAdapter.Fill(this.dsUsers.Users);
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            if (DialogResult.OK == ofd.ShowDialog())
            {
                imgUser.SizeMode = PictureBoxSizeMode.StretchImage;
                imgUser.Image = new Bitmap(ofd.OpenFile());
                //update bound field.
                usersTableAdapter.Update(dsUsers);
            }
        }
    }
}
  

Есть идеи о том, чего мне не хватает или я неправильно понимаю? Любая помощь приветствуется.

/ P

Ответ №1:

В ответ мне нужно было вызвать BindingSource .Метод EndEdit(); .

Так что я предполагаю, что это было связано с тем, что источник привязки все еще что-то удерживал.

Похоже, я все равно на правильном пути, я посмотрел подробности в MSDN 🙂