powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Concurrency violation: the DeleteCommand affected 0 rows
9 сообщений из 9, страница 1 из 1
Concurrency violation: the DeleteCommand affected 0 rows
    #33798686
anais
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть две формы - из первой формы передаю второй "биндингконтекст" и работаю с данными - все операции проходят без ошибок.

В таблице БД нет ни одной записи->мы добавляем 1 запись в неё через 2 форму-> в 1 форме делаем пыпытку удаления ->то возникает ошибка Concurrency violation: the DeleteCommand affected 0 rows.

Причем если закрыть 1 форму и сделать попытку удаления, то все проходит нормально без ошибки, ошибки не возникает и при удалении, если в таблице находится несколько записей.

Подскажите где искать ошибку?
...
Рейтинг: 0 / 0
Concurrency violation: the DeleteCommand affected 0 rows
    #33798746
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anais
Подскажите где искать ошибку?

физически запись попадает в БД при добавлении?

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Concurrency violation: the DeleteCommand affected 0 rows
    #33798784
anais
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, попадают.

вот код кнопки "удалить":

//нажатие на копке "Удалить"
private void btnУдалить_Click(object sender, System.EventArgs e)
{
DataRowView CurrentRow = ((DataRowView) cm.Current); //cm - CurrencyManager
if(!productionIdHasLinks(CurrentRow))
{
InformationMessage inf = new InformationMessage(4); //выдача запроса на подтверждение удаления

if (inf.result == DialogResult.Yes)
{
int num = dgProduction.CurrentRowIndex-1; //dgProduction - DataGrid
if (num < 0)num = 0;
dgProduction.NavigateTo(num,"ТипПродукции");
CurrentRow.Delete();
try
{
oleDbDataAdapterAvon.Update(dsПродукция1.Tables["ТипПродукции"]);

}
catch (Exception ex)
{
ErrorMessage error = new ErrorMessage(2, ex); //срабатывает эта ошибка!!!!!!!!!!!!!!!!!!!!!
}
}
}
else
{
ErrorMessage error = new ErrorMessage(22);
}
if (dsПродукция1.ТипПродукции.Count == 0)
{
btnУдалить.Enabled = false;
btnИзменить.Enabled = false;
}
}
...
Рейтинг: 0 / 0
Concurrency violation: the DeleteCommand affected 0 rows
    #33799628
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CommandText DeleteCommand можете привести

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Concurrency violation: the DeleteCommand affected 0 rows
    #33799761
anais
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если эту же строку сразу начать править, то "выскакивает" ошибка обновления. Ниже привожу команды датаадаптера:

//удаление

Код: plaintext
1.
2.
this.oleDbCommand1.CommandText = "DELETE FROM ТипПродукции WHERE (ТипПродукцииId = ?)";
this.oleDbCommand1.Connection = this.oleDbConnectionAvon;
this.oleDbCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("ТипПродукцииId", System.Data.OleDb.OleDbType.Integer,  0 , System.Data.ParameterDirection.Input, false, ((System.Byte)( 0 )), ((System.Byte)( 0 )), "ТипПродукцииId", System.Data.DataRowVersion.Original, null));
//обновление

Код: plaintext
1.
2.
3.
4.
5.
this.oleDbUpdateCommand1.CommandText = "UPDATE ТипПродукции SET ТипПродукцииНаименование = ?, ТипПродукцииОписание = ? WH" +
				"ERE (ТипПродукцииId = ?)";
			this.oleDbUpdateCommand1.Connection = this.oleDbConnectionAvon;
			this.oleDbUpdateCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("ТипПродукцииНаименование", System.Data.OleDb.OleDbType.VarWChar,  255 , "ТипПродукцииНаименование"));
			this.oleDbUpdateCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("ТипПродукцииОписание", System.Data.OleDb.OleDbType.VarWChar,  255 , "ТипПродукцииОписание"));
			this.oleDbUpdateCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("Original_ТипПродукцииId", System.Data.OleDb.OleDbType.Integer,  0 , System.Data.ParameterDirection.Input, false, ((System.Byte)( 0 )), ((System.Byte)( 0 )), "ТипПродукцииId", System.Data.DataRowVersion.Original, null));
//добавление

Код: plaintext
1.
2.
3.
4.
this.oleDbInsertCommand1.CommandText = "INSERT INTO ТипПродукции (ТипПродукцииНаименование, ТипПродукцииОписание, ТипПрод" +
				"укцииСтатус) VALUES (?, ?, True)";
			this.oleDbInsertCommand1.Connection = this.oleDbConnectionAvon;
			this.oleDbInsertCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("ТипПродукцииНаименование", System.Data.OleDb.OleDbType.VarWChar,  255 , "ТипПродукцииНаименование"));
			this.oleDbInsertCommand1.Parameters.Add(new System.Data.OleDb.OleDbParameter("ТипПродукцииОписание", System.Data.OleDb.OleDbType.VarWChar,  255 , "ТипПродукцииОписание"));
...
Рейтинг: 0 / 0
Concurrency violation: the DeleteCommand affected 0 rows
    #33799988
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anaisУ меня есть две формы - из первой формы передаю второй "биндингконтекст" и работаю с данными - все операции проходят без ошибок.

В таблице БД нет ни одной записи->мы добавляем 1 запись в неё через 2 форму-> в 1 форме делаем пыпытку удаления ->то возникает ошибка Concurrency violation: the DeleteCommand affected 0 rows.

Причем если закрыть 1 форму и сделать попытку удаления, то все проходит нормально без ошибки, ошибки не возникает и при удалении, если в таблице находится несколько записей.

Подскажите где искать ошибку?

Нет ли там каскадного удаления?
...
Рейтинг: 0 / 0
Concurrency violation: the DeleteCommand affected 0 rows
    #33800034
anais
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, каскадного удаления
...
Рейтинг: 0 / 0
Concurrency violation: the DeleteCommand affected 0 rows
    #33801419
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СУБД?

Код: plaintext
 uid  =  S a

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Concurrency violation: the DeleteCommand affected 0 rows
    #33822607
Aoen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смеялся! минут 40 назад нарвался на ту же лажу.
Порамсил так -
myDB = new OleDbDataAdapter("SELECT * FROM myTable", myCon);
myDB.FillSchema(GSMDS, SchemaType.Source);
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Concurrency violation: the DeleteCommand affected 0 rows
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]