Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2015, 01:13   #1
fisher79ru
 
Регистрация: 04.09.2013
Сообщений: 6
По умолчанию Нарушение параллелизма: DELETECOMMAND

Накидал примерный код, который надо допилить.

Код C#
Код:
public partial class Form1 : Form
    {
        System.Data.SqlClient.SqlConnection con1;
        System.Data.SqlClient.SqlDataAdapter da1;
        System.Data.SqlClient.SqlCommand selCmd;
        System.Data.SqlClient.SqlCommandBuilder b;
        System.Data.DataSet ds1;
        System.Data.DataTable dt1;
        string selQry;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, System.EventArgs e)
        {
            con1 = new System.Data.SqlClient.SqlConnection();
            da1 = new System.Data.SqlClient.SqlDataAdapter();           
            ds1 = new System.Data.DataSet();
            b = new System.Data.SqlClient.SqlCommandBuilder(da1);
            selCmd = new System.Data.SqlClient.SqlCommand();
            selQry = "SELECT ид as ID, первый, второй, третий, ключ FROM  Test where [ключ]=@p0";
            selCmd.Parameters.Add("p0", System.Data.SqlDbType.Int, 5, "ключ");
            selCmd.Connection = con1;
            selCmd.CommandText = selQry;
            da1.SelectCommand = selCmd;
            dt1 = new System.Data.DataTable();
 
            try
            {
                con1.ConnectionString = @"Data Source=SQL-SRV;Failover Partner=SQL-SRV;Initial Catalog=DATA;
                                                           Persist Security Info=True;User ID=AM;Password=1;Replication=True";
                con1.Open();
                MessageBox.Show("Соединение успешное!");
 
                selCmd.Parameters["p0"].Value = 1;
 
                da1.Fill(ds1, "Test");
                grid2.DataSource = ds1.Tables["Test"].DefaultView;
                grid2.Refresh();
                
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("Соединение отсутствует!" + ex.Message);
            }
        }
 
        private void grid2_UserDeletedRow(object sender, DataGridViewRowEventArgs e)
        {
            dt1.GetChanges(System.Data.DataRowState.Deleted);
            da1.DeleteCommand = b.GetDeleteCommand();
            if (dt1 != null)
            {
                da1.Update(ds1.Tables[0]);
            }
         
        }
 
        private void grid2_CellValidated(object sender, DataGridViewCellEventArgs e)
        {
            dt1.GetChanges(System.Data.DataRowState.Added | System.Data.DataRowState.Modified);
            da1.UpdateCommand = b.GetUpdateCommand();
            da1.InsertCommand = b.GetInsertCommand();
            if (dt1 != null)
            {
                da1.Update(ds1.Tables[0]);
            }
        }
 
        private void grid2_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            grid2.Rows[grid2.CurrentRow.Index].Cells["ключ"].Value = 1;
        }
       
    }
Таблица Test(ид - ключевое поле счетчик, первый, второй, третий - текст, ключ - число)

1. После добавления записей в грид(DataGridView) закрываю форму, сохраняются все записи кроме последней.
2. Если добавить одну строчку, потом вторую, и сразу же попытаться удалить первую, то возникнет исключение Нарушение параллелизма: DELETECOMMAND.
3. Не отображается ключевое поле в гриде, только после повторного открытия формы.

Пожалуйста помогите!

Последний раз редактировалось Stilet; 01.06.2015 в 07:54.
fisher79ru вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нарушение профиля HellMercenariess О форуме и сайтах клуба 6 25.08.2012 11:43
Нарушение прав потребителей Blade Свободное общение 7 07.07.2011 23:31
Нарушение прав доступа Hemul Qt и кроссплатформенное программирование С/С++ 1 08.04.2011 20:02
Нарушение сортировки по алфавиту Ruab Microsoft Office Excel 11 29.10.2010 12:50
Нарушение доступа Perception Помощь студентам 9 11.07.2008 14:44