powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Обновление данных в 2х базах данных
3 сообщений из 3, страница 1 из 1
Обновление данных в 2х базах данных
    #38029020
hiden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Есть 2 сервера = 2е базы данных mssql. Определенные таблицы этих баз должны быть идентичны между собой.
Программа опрашивает SQl сервер №1, получает данные, пользователь производит изменения.
При этом данные должны обновляться в 2х базах данных.

Код: c#
1.
dr_edit = DS_OPC.tblUnit.Select("", "", DataViewRowState.ModifiedCurrent);


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
                    //Для первого сервера
                    SqlCommand updateUnitCommand1 = new SqlCommand("UP_Unit");
                    updateUnitCommand1.Connection = DbConnection1;
                    updateUnitCommand1.CommandType = CommandType.StoredProcedure;

                    param = new SqlParameter("@Name", SqlDbType.VarChar, 0, "Name");
                    param.Direction = ParameterDirection.Input;
                    updateUnitCommand1.Parameters.Add(param);

                    SqlDA1 = new SqlDataAdapter("SELECT * FROM tblUnit", DbConnection1);
                    SqlDA1.UpdateCommand= updateUnitCommand1;
                    SqlDA1.Update(dr_edit);


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
//Для второго
                    SqlCommand updateUnitCommand2 = new SqlCommand("UP_Unit");
                    updateUnitCommand2.Connection = DbConnection2;
                    updateUnitCommand2.CommandType = CommandType.StoredProcedure;

                    param = new SqlParameter("@id", SqlDbType.Int, 0, "id");
                    param.Direction = ParameterDirection.Input;
                    updateUnitCommand2.Parameters.Add(param);

                    SqlDA2 = new SqlDataAdapter("SELECT * FROM tblUnit", DbConnection2);
                    SqlDA2.UpdateCommand = updateUnitCommand2;
                    SqlDA2.Update(dr_edit);



В итоге не работает, обновляется только первый.
Кто сталкивался подскажите плиииз.
...
Рейтинг: 0 / 0
Обновление данных в 2х базах данных
    #38029107
hiden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В целом не правильно я к задаче подошел.
Код: c#
1.
2.
3.
4.
5.
                DataRow[] dr_edit1 = new DataRow[DS_OPC.tblUnit.Select("", "", DataViewRowState.ModifiedCurrent).Length];
                DataRow[] dr_edit2 = new DataRow[DS_OPC.tblUnit.Select("", "", DataViewRowState.ModifiedCurrent).Length];

                dr_edit1 = DS_OPC.tblUnit.Select("", "", DataViewRowState.ModifiedCurrent);
                dr_edit2 = DS_OPC.tblUnit.Select("", "", DataViewRowState.ModifiedCurrent);



Есть 2 массива dr_edit1 dr_edit2.
После обновления строки ее свойсво становится RowState = modified;

После SqlDA1.Update(dr_edit1); Свойсво RowState = unchenged;

но в то же время строки dr_edit2 тоже становятся RowState = unchenged, по этому во втором сервере необнавляются данные.

То есть dr_edit1 и dr_edit2, связаны через DataSet/

Как то надо сделать что бы dr_edit1 и dr_edit2, являлись отдельными копиями DataSet
...
Рейтинг: 0 / 0
Обновление данных в 2х базах данных
    #38029139
hiden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: c#
1.
2.
                DataRow[] dr_edit1 = DS_OPC.tblUnit.Select("", "", DataViewRowState.ModifiedCurrent);
                DataRow[] dr_edit2 = (DataRow[])dr_edit1.Clone();



После Update свойство RowState изменяется в dr_edit1бdr_edit2 ((((
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Обновление данных в 2х базах данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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