Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
spawn042
0 / 0 / 0
Регистрация: 22.04.2014
Сообщений: 3
1

Ошибка SqlDataAdapter.Update при использовании метода на добавление более одного раза

22.04.2014, 13:37. Просмотров 374. Ответов 2
Метки нет (Все метки)

Ниже описан метод добавления работника, если добавляю одного, то все норм, но если добавляю второго(вызывая метод повторно) то выдает ошибку.
код метода: (все дататэйблы статические)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
DataRow rowWorker = DTWorker.NewRow();
            DataRow rowPeople = DTPeople.NewRow();
            DataRow rowContacts = DTContacts.NewRow();
            DTWorker.Rows.Add(rowWorker);
            DTPeople.Rows.Add(rowPeople);
            DTContacts.Rows.Add(rowContacts);
            SDPeople.InsertCommand = new SqlCommand();
            string textPeople = string.Format("Insert into People(People_Surname,People_Name,People_SecondName) Values('{0}','{1}','{2}'); SELECT SCOPE_IDENTITY();", Surname, Name, SecondName);
            SDPeople.InsertCommand.CommandText = textPeople;
            SDPeople.InsertCommand.Connection = ConnectionString;
            ConnectionString.Open();
            long? PeopleID=Convert.ToInt64(SDPeople.InsertCommand.ExecuteScalar());
            DTPeople.Rows.Add(PeopleID,Surname,Name,SecondName);
            ConnectionString.Close();
            string textWorker = string.Format("Insert into Worker(People_ID,Worker_Experience,Worker_Year,Languages_ID,Universities_ID,Worker_Picture) Values('{0}','{1}','{2}','{3}','{4}','{5}')", PeopleID, Experience, Year, Language.Languages_ID, University.Universities_ID, Picture);
            SDWorker.InsertCommand = new SqlCommand(textWorker, ConnectionString);
            SDWorker.Update(DTWorker);
            string textContacts = string.Format("Insert into Contacts(People_ID,Contacts_Phone,City_ID,Area_ID,Street_ID,Contacts_House,Contacts_Flat) Values('{0}','{1}','{2}','{3}','{4}','{5}','{6}')", PeopleID, Phone, City.City_ID, Area.Area_ID, Street.Street_ID, House, Flat);
            SDContacts.InsertCommand = new SqlCommand(textContacts, ConnectionString);
            SDContacts.Update(DTContacts);
ошибка на строчке SDWorker.Update(DTWorker);
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2014, 13:37
Ответы с готовыми решениями:

Select, Insert, Update и DeleteCommand в SqlDataAdapter, как сделать их определение более удобным?
Здраствуйте. Начал работать с базой данных через SqlDataAdapter. И как то кажется совсем не удобно...

Почему при создании в конструкторе объекта sqldataadapter нет update?
почему при создании в конструкторе объекта sqldataadapter автоматом создаются только select и...

Ошибка при использовании метода Copytodatabase.
Имеем базу в формате ods41 (Lotus R5). База работает под Lotus R5, R6, R7. База локальная и играет...

Ошибка при использовании метода хорд
// chord method.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h"...

Ошибка при использовании метода Fill
При попытке использовать fill - вылетает ошибка an unhandled exception of type...

2
nmcf
6525 / 5749 / 2621
Регистрация: 14.04.2014
Сообщений: 24,493
22.04.2014, 17:16 2
SDWorker - это DataAdapter? Ты плохо понимаешь, зачем он нужен. Если команду на добавление формируешь вручную, то используй просто SQLCommand.
0
spawn042
0 / 0 / 0
Регистрация: 22.04.2014
Сообщений: 3
22.04.2014, 20:15  [ТС] 3
Все что с SD начинается это SqlDataAdapter. Мне просто толком не объяснили про него, подскажи что исправить в коде надо, чтобы работал через адаптеры, а дальше я сам разберусь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2014, 20:15

Странная ошибка при использовании метода erase
И снова здравствуйте. Уже несколько дней пытаюсь решить эту проблему. При шифровке файла, моё...

Ошибка при использовании метода 1 класса во 2 классе
public LinearLayout LayoutOfScroll; public EditText edBudget; public TextView tvZatrati; public...

Ошибка при использовании метода Ole Add
При использовании метода OLE Add появляется сообщение об ошибке: Project Project1.exe raised...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru