|
Почему не апдейтится датасет?
|
|||
---|---|---|---|
#18+
Есть объект с таким св-вом: public class ConnectDPCObj: MarshalByRefObject { ......... private readonly Common.DataSetOffices dsUserList = new Common.DataSetOffices(); public Common.DataSetOffices DataSetOffices { get { lock(forLocking) { return dsUserList; } } } ....... } Использую датасет, полученный от него через remoting: ConnectDPC.ConnectDPCObj obj; obj = (ConnectDPC.ConnectDPCObj)Activator.GetObject(typeof(ConnectDPC.ConnectDPCObj), "http://localhost/REMHOST"); DataSetOffices.UserRow ur; DataSetOffices.OfficeRow offRow = obj.DataSetOffices.Office.FindByObjectID(Convert.ToInt32(cbOffice.SelectedValue)); ur = obj.DataSetOffices.User.AddUserRow(txtLogin.Text, txtPassword.Text, 1, 0, 0, txtEMail.Text, "", "", "", offRow); obj.DataSetOffices.User.AcceptChanges(); obj.DataSetOffices.AcceptChanges(); int i = obj.DataSetOffices.User.Count; Объект создается, начальный датасет возвращается, причем непустой( как и должно быть). Но при добавлении новой строки в него ничего не происходит, т.е. obj.DataSetOffices.User.Count == 0. Помогает тольо так: Common.DataSetOffices.UserRow ur; ur = obj.DataSetOffices.User.NewUserRow(); ur.Login = txtLogin.Text; ur.Password = txtPassword.Text; ur.Rights = nRights; ur.EMail = txtEMail.Text; ur.OfficeID = Convert.ToInt32(cbOffice.SelectedValue); obj.AddUser(ur.ItemArray); int i = obj.DataSetOffices.User.Count; Соответственно, для объекта был заведен метод: public bool AddUser(object[] ur) { DataSetOffices.User.LoadDataRow(ur, true); DataSetOffices.AcceptChanges(); return true; } Но почему не работает вариант без этого метода ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2004, 08:07 |
|
|
start [/forum/topic.php?fid=17&fpage=127&tid=1354074]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
32ms |
get tp. blocked users: |
2ms |
others: | 314ms |
total: | 439ms |
0 / 0 |