Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите плз, при DataAdapter.Update срабатывает InsertCommand / 3 сообщений из 3, страница 1 из 1
08.12.2004, 09:20
    #32817796
--Kostik--
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите плз, при DataAdapter.Update срабатывает InsertCommand
Здравствуйте форумщики, собственно сабж
Код: 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
08.12.2004, 09:27
    #32817809
Mr. GES
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите плз, при DataAdapter.Update срабатывает InsertCommand
вызов EndCurrenEdit не избавляет соответствующие Rows от признака Added
insertcommsnd срабатывает при update при этом признаке, почему он у вас появляется - вы добавляеет новые строки в DataSet ?
...
Рейтинг: 0 / 0
08.12.2004, 09:36
    #32817825
--Kostik--
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите плз, при DataAdapter.Update срабатывает InsertCommand
Я заполняю датасет каждый раз новыми данными, то есть запрос каждый раз возвращает одну строку, вот код:
Код: 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
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите плз, при DataAdapter.Update срабатывает InsertCommand / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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