Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WPF, Silverlight Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Не пинайте сильно.
Есть на MSSQL сервере база в ней таблицы. Обращение к ним происходит через...
<riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:z_plan_name, CreateList=true}" 
                                      Height="0" LoadedData="z_plan_nameDomainDataSource_LoadedData" 
                                      Name="z_plan_nameDomainDataSource" QueryName="GetZ_plan_nameQuery" Width="0" Margin="0,0,478,250">
            <riaControls:DomainDataSource.DomainContext>
и грузится в DevExpress'овский GridControl, отображаясь в TableView. Удаление выделенной записи из TableView реализовано следующим образом
private void DeleteItem_ItemClick(object sender, ItemClickEventArgs e)
        {
            GridCellMenuInfo menuInfo = Control_Plan.GridMenu.MenuInfo as GridCellMenuInfo;
            if (menuInfo != null && menuInfo.Row != null)
            Control_Plan.DeleteRow(menuInfo.Row.RowHandle.Value);
        }
Подскажите как модифицировать запись в самой таблице на SQL-сервере. Т.е. к той записи которую мы удаляем из "грид" должны добавить например в поле "del" параметр "delete". Физически мы их не удаляем, а помечаем флагом которым и служит слово "delete". Спасибо
18 апр 11, 22:29    [10533662]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Что нет соображений? Или я не корректно задал вопрос.
19 апр 11, 14:35    [10536691]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Может быть есть способ послать SQL-запрос c параметрами на MSSQL-сервер к базе данных
19 апр 11, 16:28    [10537492]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
уТКа
Member

Откуда: Страна дураков и разбитых дорог
Сообщений: 1266
Chek_Fedor,

у тебя на сервере в DomainService есть методы, тебе нужно модифицировать его, название ищи что-то типа DeleteZ_plan_name
19 апр 11, 18:41    [10538191]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Спасибо. завтра покопаюсь.
19 апр 11, 20:01    [10538461]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Есть вот такое, находится в файле DomainService
    public void DeleteZ_plan_name(z_plan_name z_plan_name)
        {
            if ((z_plan_name.EntityState == EntityState.Detached))
            {
                this.ObjectContext.z_plan_name.Attach(z_plan_name);
            }
            this.ObjectContext.z_plan_name.DeleteObject(z_plan_name);
        }
Как это использовать?
20 апр 11, 09:51    [10539722]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
уТКа
Member

Откуда: Страна дураков и разбитых дорог
Сообщений: 1266
Chek_Fedor,

комментируй все что там находится и вкладывай свою логику "пометить флагом delete"
20 апр 11, 13:25    [10541349]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
уТКа
Chek_Fedor,

комментируй все что там находится и вкладывай свою логику "пометить флагом delete"

Блин совсем запутался, можно подробнее. Или скажите, что нужно выложить (какие куски кода) чтобы наконец с Вашей помощью разобраться как обратится к базе и манипулировать с данными. Спасибо
20 апр 11, 13:35    [10541440]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Нет соображений? Ну очень нужно разобраться...
20 апр 11, 17:52    [10543600]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Автор, Вы разобрались, кто такой z_plan_name,
что делают его методы Attach и DeleteObject
и какие еще подобные методы у этого z_plan_name есть?
20 апр 11, 17:54    [10543616]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
уТКа
Member

Откуда: Страна дураков и разбитых дорог
Сообщений: 1266
Chek_Fedor,

ну екарный бабай, все же просто...

public void DeleteZ_plan_name(z_plan_name z_plan_name)
{
  z_plan_name.del = true;
}
всё!
20 апр 11, 21:28    [10544435]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Паганель
Автор, Вы разобрались, кто такой z_plan_name,
что делают его методы Attach и DeleteObject
и какие еще подобные методы у этого z_plan_name есть?

Нет. где почитать?
21 апр 11, 14:35    [10548077]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Хм... я думал Вам посоветовать Go To Definition...
Но посоветую DomainContext and Operations
21 апр 11, 15:14    [10548368]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
уТКа
Chek_Fedor,

ну екарный бабай, все же просто...

public void DeleteZ_plan_name(z_plan_name z_plan_name)
{
  z_plan_name.del = true;
}
всё!

Думаете просто... На это z_plan_name.del = true; ругается, точнее на del.
22 апр 11, 09:28    [10551213]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Chek_Fedor
Думаете просто... На это z_plan_name.del = true; ругается, точнее на del.
Текст ошибки надо угадать телепатически?
22 апр 11, 10:11    [10551382]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Так, вот мои действия+код
Если я вас правильно понял то все вот это
public void DeleteZ_plan_name(z_plan_name z_plan_name)
        {
          
            if ((z_plan_name.EntityState == EntityState.Detached))
            {
                this.ObjectContext.z_plan_name.Attach(z_plan_name);
            }
            this.ObjectContext.z_plan_name.DeleteObject(z_plan_name);
        }
Мы меняем на
public void DeleteZ_plan_name(z_plan_name z_plan_name)
        {
           z_plan_name.del = true;
        }
При этом ругается на то, что метод del не найден.
И как быть дальше если нужно удалить выделенную строку в gride
Вот код который удаляет строку в таблице но в базе это ни как не отображается
    private void DeleteItem_ItemClick(object sender, ItemClickEventArgs e)
        {
            GridCellMenuInfo menuInfo = Control_Plan.GridMenu.MenuInfo as GridCellMenuInfo;
            if (menuInfo != null && menuInfo.Row != null)
            Control_Plan.DeleteRow(menuInfo.Row.RowHandle.Value);
           //вот тут в идеале нужно добавить в базу к удаляемой строке в поле del параметр delete
        }
22 апр 11, 10:55    [10551658]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Chek_Fedor
к той записи которую мы удаляем из "грид" должны добавить например в поле "del" параметр "delete"
Chek_Fedor
ругается на то, что метод del не найден.
тут какое-то противоречие
Гляньте Go To Definition: Свойство del есть у z_plan_name или нет?
22 апр 11, 11:00    [10551702]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Паганель
Chek_Fedor
к той записи которую мы удаляем из "грид" должны добавить например в поле "del" параметр "delete"
Chek_Fedor
ругается на то, что метод del не найден.
тут какое-то противоречие
Гляньте Go To Definition: Свойство del есть у z_plan_name или нет?

Немного проясню ситуацию DevExpressov'ский GridControl выше приведенный код удаляет запись только в Grid'e. Физически в базе мы их не удаляем, а помечаем флагом, т.е. добавляем в поле del запись. Но пока мне хотелось бы разобраться как с записями в базе работать Insert, Update, Delete. "Гляньте Go To Definition:" это где можно поглядеть?
22 апр 11, 11:20    [10551848]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Свойства такого нет
22 апр 11, 11:30    [10551923]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Поле БД не стало свойством объекта? Вы чего-то не договариваете...
А какие свойства есть?
22 апр 11, 11:34    [10551958]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Немного не то название поля вотКартинка с другого сайта.
Забыл обновить модель.
public void DeleteZ_plan_name(z_plan_name z_plan_name)
        {
            z_plan_name.delete = true;
        }
Теперь подчеркнул true "неявное преобразование bool в String".
22 апр 11, 12:10    [10552276]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
А вот картинка с структурой

К сообщению приложен файл. Размер - 9Kb
22 апр 11, 12:13    [10552311]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
А почему поле БД является nvarchar если должно быть bit ?
22 апр 11, 12:20    [10552372]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Chek_Fedor
Member

Откуда:
Сообщений: 2011
Просто я туда хотел добавить слово delete которое является "флагом". И это должно наверное происходить в методе Update
22 апр 11, 12:32    [10552467]     Ответить | Цитировать Сообщить модератору
 Re: Изменение данных в таблице  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Вы уж сами определитесь
Либо меняете базу и пишете z_plan_name.delete = true;
Либо пишете z_plan_name.delete = "delete";
22 апр 11, 12:44    [10552528]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / WPF, Silverlight Ответить