powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите плз, при DataAdapter.Update срабатывает InsertCommand
3 сообщений из 3, страница 1 из 1
Помогите плз, при DataAdapter.Update срабатывает InsertCommand
    #32817796
--Kostik--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте форумщики, собственно сабж
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
this.DataBindings[0].EndCurrentEdit()
try
{
   daBusop.Update(dsBusop);
}
catch(Exception e)
{
    MessageBox.Show(e.Message);
}
Exception выходит такой:
Violation of PRIMARY KEY constraint 'PK_tbl_BusOp'. Cannot insert duplicate key in object 'tbl_BusOp'.
А в Profiler такой текст команды:
Код: plaintext
1.
INSERT INTO tbl_BusOp(id_BusOp, id_Organisation, id_DocType, bspDonRef, bspIBFRef, bspTitle, bspDescription, bspOpenDate, bspDeadline, bspCloseDate, bspCreateDate, bspModifDate, bspShortlistDate, bspUpdated, bspCanceled, bspEncodedBy, bspCheckedBy, bspComments, bspFinancingRef, bspShortListIssueDate, bspShortListDeadLine, bspHistoryPrev, bspHistoryNext, bspCancellationDate, bspEOILink, bspDevBusiness, bspBudget, id_Currency, bspTotalCost, bspTotalCostCurrency, bspDescrFileName, bspBigDescription) VALUES (@id_BusOp, @id_Organisation, @id_DocType, @bspDonRef, @bspIBFRef, @bspTitle, @bspDescription, @bspOpenDate, @bspDeadline, @bspCloseDate, @bspCreateDate, @bspModifDate, @bspShortlistDate, @bspUpdated, @bspCanceled, @bspEncodedBy, @bspCheckedBy, @bspComments, @bspFinancingRef, @bspShortListIssueDate, @bspShortListDeadLine, @bspHistoryPrev, @bspHistoryNext, @bspCancellationDate, @bspEOILink, @bspDevBusiness, @bspBudget, @id_Currency, @bspTotalCost, @bspTotalCostCurrency, @bspDescrFileName, @bspBigDescription); SELECT id_BusOp, id_Organisation, id_DocType, bspDonRef, bspIBFRef, bspTitle, bspDescription, bspOpenDate, bspDeadline, bspCloseDate, bspCreateDate, bspModifDate, bspShortlistDate, bspUpdated, bspCanceled, bspEncodedBy, bspCheckedBy, bspComments, bspFinancingRef, bspShortListIssueDate, bspShortListDeadLine, bspHistoryPrev, bspHistoryNext, bspCancellationDate, bspEOILink, bspDevBusiness, bspBudget, id_Currency, bspTotalCost, bspTotalCostCurrency, bspDescrFileName, bspBigDescription FROM tbl_BusOp WHERE (id_BusOp = @id_BusOp)', N'@id_BusOp int,@id_Organisation int,@id_DocType int,@bspDonRef varchar(255),@bspIBFRef varchar(255),@bspTitle varchar(255),@bspDescription text,@bspOpenDate datetime,@bspDeadline datetime,@bspCloseDate datetime,@bspCreateDate datetime,@bspModifDate datetime,@bspShortlistDate datetime,@bspUpdated bit,@bspCanceled bit,@bspEncodedBy varchar(50),@bspCheckedBy varchar(50),@bspComments text,@bspFinancingRef varchar(255),@bspShortListIssueDate datetime,@bspShortListDeadLine datetime,@bspHistoryPrev int,@bspHistoryNext int,@bspCancellationDate datetime,@bspEOILink varchar(50),@bspDevBusiness bit,@bspBudget float,@id_Currency int,@bspTotalCost float,@bspTotalCostCurrency int,@bspDescrFileName varchar(255),@bspBigDescription image', @id_BusOp = 44507, @id_Organisation = 109, @id_DocType = 0, @bspDonRef = 'ME0250', @bspIBFRef = NULL, @bspTitle = 'Competency-based human resources development', @bspDescription = 'Project Name: Co', @bspOpenDate = 'Nov 16 2004 12:00AM', @bspDeadline = 'Nov 25 2004 12:00AM', @bspCloseDate = 'Nov 25 2004 12:00AM', @bspCreateDate = 'Oct  4 2004 10:57AM', @bspModifDate = 'Nov 25 2004 10:04AM', @bspShortlistDate = NULL, @bspUpdated = 1, @bspCanceled = 0, @bspEncodedBy = '11', @bspCheckedBy = NULL, @bspComments = '', @bspFinancingRef = '1579/OC-ME ', @bspShortListIssueDate = NULL, @bspShortListDeadLine = NULL, @bspHistoryPrev = 29444, @bspHistoryNext = 0, @bspCancellationDate = NULL, @bspEOILink = NULL, @bspDevBusiness = 0, @bspBudget = 8.400000000000000e+007, @id_Currency = 100, @bspTotalCost = 1.568798970000000e+008, @bspTotalCostCurrency = 116, @bspDescrFileName = '', @bspBigDescription = 0x1860702E
После заполнения DataSet создаю SqlCommandBuilder и вызываю его метод RefreshShema(). Но ничего не помогает.
Что делать?
...
Рейтинг: 0 / 0
Помогите плз, при DataAdapter.Update срабатывает InsertCommand
    #32817809
Mr. GES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вызов EndCurrenEdit не избавляет соответствующие Rows от признака Added
insertcommsnd срабатывает при update при этом признаке, почему он у вас появляется - вы добавляеет новые строки в DataSet ?
...
Рейтинг: 0 / 0
Помогите плз, при DataAdapter.Update срабатывает InsertCommand
    #32817825
--Kostik--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я заполняю датасет каждый раз новыми данными, то есть запрос каждый раз возвращает одну строку, вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
		private void GotoBusop(string id)
		{
			string sql;
			int curid;
			try
			{
				curid=Convert.ToInt32(txtIdBusop.Text);
			}
			catch
			{
				curid=0;
			}
			switch (id)
			{
				case "last":
					sql="SELECT * FROM tbl_Busop WHERE id_Busop=(SELECT MAX(id_Busop) FROM tbl_Busop)";
					break;
				case "prev":
					sql="SELECT * FROM tbl_BusOp WHERE id_BusOp = (SELECT TOP 1 id_BusOp FROM tbl_BusOp WHERE id_BusOp < " + Convert.ToString(curid) + " ORDER BY id_BusOp DESC)";
					break;
				case "first":
					sql="SELECT * FROM tbl_BusOp WHERE id_BusOp = (SELECT MIN(id_BusOp) FROM tbl_BusOp)";
					break;
				case "next":
					sql="SELECT * FROM tbl_BusOp WHERE id_BusOp = (SELECT TOP 1 id_BusOp FROM tbl_BusOp WHERE id_BusOp > " + Convert.ToString(curid) + " ORDER BY id_BusOp)";
					break;
				default:
					sql="SELECT id_Busop FROM tbl_Busop WHERE id_Busop=(SELECT MAX(id_Busop) FROM tbl_Busop)";
					break;
			}
			daBusop.SelectCommand.CommandText=sql;
			dsBusop.Clear();
			daBusop.Fill(dsBusop);
			System.Data.SqlClient.SqlCommandBuilder cmdbld=new System.Data.SqlClient.SqlCommandBuilder(daBusop);
			cmdbld.RefreshSchema();
			BusopOnMove();
		}
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите плз, при DataAdapter.Update срабатывает InsertCommand
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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