Помощь - Поиск - Пользователи - Календарь
Полная версия: сохранение в таблице
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
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. А что это и с чем его едят...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.