Помощь - Поиск - Пользователи - Календарь
Полная версия: сохранение в таблице
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Другие языки
Client
как сохранять измения в DataGridView? В новигаторе есть кнопка SAVE, но она сохраняет если в таблицу ТОЛЬКО дабавляются записи, а не изменяются. Если изменить и сохранить получается ошибка.
volvo
Здесь посмотри, может что-нибудь и подойдет...
Client
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;

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

        private void mytableBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.mytableBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.mydbDataSet);

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "mydbDataSet.mytable". При необходимости она может быть перемещена или удалена.
            this.mytableTableAdapter.Fill(this.mydbDataSet.mytable);
           // this.mytableDataGridView.AutoResizeColumns();

        }
        public DataRow lastdatarow = null;

        private void updateRowToDatabase()
        {
            if (lastdatarow != null)
            {
                if (lastdatarow.RowState == DataRowState.Modified)
                {
                    mytableTableAdapter.Update(lastdatarow);
                }
            }
        }

        private void mytableBindingSource_PositionChanged(object sender, EventArgs e)
        {
            BindingSource thisBindingSource = (BindingSource)sender;
            DataRow thisdatarow = ((DataRowView)thisBindingSource.Current).Row;
            if (thisdatarow == lastdatarow)
            {
                throw new  ApplicationException("It seems the" +
                " PositionChanged event was fired twice for" + 
                " the same row");
            }
            updateRowToDatabase();
            lastdatarow=thisdatarow;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            updateRowToDatabase();
        }
    }
}
Сделал как в статье, такая же ошибка. Просит UpdateCommand. А что это и с чем его едят...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.