powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Локальная сеть: web-браузер или десктоп
20 сообщений из 3 070, страница 123 из 123
Локальная сеть: web-браузер или десктоп
    #39538488
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>Addx, сегодня, 20:05 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1261862&msg=20880252] [20880252]
>написать хотя бы... и убрать оттуда ...
повторяю - xrow, lst_Entity<row_Entity> и RowToEntity определены в вызываемом классе.
Методу обратного вызова не надо ничего возвращать в класс msp
А зачем они именно там определены? Зачем использовать делегаты? Вы толком объяснить сможете?

Лично у меня складывается стойкое впечатление, что Вы идёте по пути научного тыка.
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538494
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>Простите, о каких элементах речь?
Я об этом - "public static class DataExtension"
Хм, а какие-нибудь объективые доводы против того, чтобы вынести часто используемые конструкции в отдельныйе методы и сделать код чище и гибче у Вас есть?
"Не люблю" - это вкусовщина.
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538556
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAAddxЯ понимаю, что метод
_PropInfo.SetValue(obj, value, null);
выполняется заведомо меньше 1ms (реально оценка сверху значительно ниже), а считывание данных занимает значительно больше времени, то такая оценка меня устраивает.
Я могу, конечно, замерить время конвертации для конкретного класса, на конкретном оборудовании, под конкретной ОС точнее, но необходимости не было.
Сначала Вы написали, что можно оценить... А теперь походу предлагаете просто забить. Забавно

Термин "оценка сверху" Вам знаком? Не похоже ...
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538627
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 08:50 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1261862&msg=20881042][20881042]

>А зачем они именно там определены? Зачем использовать делегаты? Вы толком объяснить сможете?
На прилагаемом рисунке приведено дерево решения.
Вся обработка информации сосредоточена в классах UserControl, работа в базой данных в классе msp.
Если мне нужна выборка из базы данных с отражением в списке lst_Entity (находящемуся в UserControl), то обращаюсь к главному методу msp. Любое обращение к базе данных в принципе завершается фориированием lst_Entity (и xrow).
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538677
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxskyANAпропущено...

Сначала Вы написали, что можно оценить... А теперь походу предлагаете просто забить. Забавно

Термин "оценка сверху" Вам знаком? Не похоже ...Вы о чём? Об оценке сверху сложности алгоритма? Говорите точнее и тогда не будет недопонимания.
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538683
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

Класс инкапсулирует в себе некое состояние и логику работы с ним.
У Вас UserControl одновременно и lst_Entity и xrow отображает?
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538696
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAВы о чём?
Как всегда о своём.
В ответе слова делегат отсутствует.
ВМоисеев мастер строить ответы из очевидностей типа:
"Вода закипает при 100 градусов, а 90 град. это тупой угол".
))
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538699
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
Упс...цитата не оттуда, но Addx простит).
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538756
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, сегодня, 13:40 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1261862&msg=20882397][20882397]

>У Вас UserControl одновременно и lst_Entity и xrow отображает?
Да, где то так.
SELECT
Код: c#
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.
38.
39.
40.
41.
42.
43.
44.
 
    //-- SELECT
    //====================================================================================
    private async void ЗапросДанных() {
      if (!bl_Разрешение) return;
      bl_Разрешение = false;

      //-- Готовим параметры запроса
      OracleParameter[] asp = new OracleParameter[3];
      asp[0] = new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output);

      string xstr = tbx_СтранаПуска.Text.Trim();
      xstr = (string.IsNullOrEmpty(xstr)) ? null : xstr + "%";
      asp[1] = new OracleParameter("x_strana_puska", xstr);

      xstr = tbx_МестоПуска.Text.Trim();
      xstr = (string.IsNullOrEmpty(xstr)) ? null : xstr + "%";
      asp[2] = new OracleParameter("x_mesto_puska", xstr);


      при.tmrStart();
      try { await wsp.Entity_SP("NCUYAO_GIS.Mesta_Puskov_Sel", wsp.sp_Sel, asp, RowToEntity); }
      catch (System.InvalidOperationException ex) { throw new Exception(ex.Message); }
      catch (Exception ex) {
        при.tmrStop();
        MessageBox.Show(ex.Message, caption_Entity, MessageBoxButton.OK);
        bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
        return;
      }
      //-- Покажем выборку
      при.tmrStop();
      //dgv_Entity.AutoGenerateColumns = false;
      dgv_Entity.ItemsSource = null;
      if (lst_Entity != null) {
        oc_Entity = new ObservableCollection<row_Entity>(lst_Entity);
        lst_Entity = null;
        dgv_Entity.ItemsSource = oc_Entity;
        //-- Флаг размера выборки
        lbl_ФРВ.Visibility = (nRow == гп.max_Выборка) ? Visibility.Visible : Visibility.Hidden;
        if (oc_Entity.Count != 0) dgv_Entity.SelectedIndex = 0;
        lst_Entity = null;
      }
      bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
    }




INSERT, KLON, UPDATE
Код: c#
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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
    
    //-- Новая
    //==============================================================================
    private void btc_Новая_Click(object sender, RoutedEventArgs e) {
      if (!bl_Разрешение) return; //-- Запрет обработки нажатия

      //-- Формируем параметры
      asp = new OracleParameter[5] {
        new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output),
        new OracleParameter("x_fk_strana_puska", 0),
        new OracleParameter("x_mesto_puska", xrow.str_МестоПуска),
        new OracleParameter("x_lng", xrow.fl_Lng),
        new OracleParameter("x_lat", xrow.fl_Lat)
      };
      fun_InsUpd("NCUYAO_GIS.Mesta_Puskov_Ins", wsp.sp_Ins);
    }

    //-- Клон
    //=========================================================================================================
    private void btc_Клон_Click(object sender, RoutedEventArgs e) {
      if (!bl_Разрешение) return; //-- Запрет обработки нажатия
      if (dgv_Entity.SelectedIndex == -1) return;  //-- Нет выбора
      //-- Получим индекс элемента коллекции
      xrow = (row_Entity)dgv_Entity.SelectedItem;
      iRow = oc_Entity.IndexOf(xrow);

      //-- Формируем параметры
      asp = new OracleParameter[5] {
        new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output),
        new OracleParameter("x_fk_strana_puska", xrow.fk_СтранаПуска),
        new OracleParameter("x_mesto_puska", xrow.str_МестоПуска),
        new OracleParameter("x_lng", xrow.fl_Lng),
        new OracleParameter("x_lat", xrow.fl_Lat)
      };
      fun_InsUpd("NCUYAO_GIS.Mesta_Puskov_Ins",wsp.sp_Ins);
    }

    //-- Изменить
    //=========================================================================================================
    private void btc_Сохранить_Click(object sender, RoutedEventArgs e)  {
      if (!bl_Разрешение) return; //-- Запрет обработки нажатия
      if (dgv_Entity.SelectedIndex == -1) return;  //-- Нет выбора
      //-- Получим индекс элемента коллекции
      yrow = (row_Entity)dgv_Entity.SelectedItem;
      iRow = oc_Entity.IndexOf(yrow);

      bl_Разрешение = false;

      //--  Поля str_МестоПуска, fl_Lng, fl_Lat сформированы ?
      if (
        (yrow.fk_СтранаПуска == 0) || (yrow.str_МестоПуска == "")
        || ((yrow.fl_Lng == 0) && (yrow.fl_Lat == 0))
        || (Math.Abs(yrow.fl_Lng) > 180) || (Math.Abs(yrow.fl_Lat) > 90)
      )
      {
        string message = "Введите корректно данные";
        string caption = "Работа с таблицей МестаПусков";
        MessageBoxResult result = MessageBox.Show(message, caption);
        bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
        return;
      }

      //-- Формируем параметры
      asp = new OracleParameter[7] {
        new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output),
        new OracleParameter("x_pk_mesto_puska", yrow.pk_Entity),
        new OracleParameter("x_nv", yrow.nv),
        new OracleParameter("x_fk_strana_puska", yrow.fk_СтранаПуска),
        new OracleParameter("x_mesto_puska", yrow.str_МестоПуска),
        new OracleParameter("x_lng", yrow.fl_Lng),
        new OracleParameter("x_lat", yrow.fl_Lat)
      };
      fun_InsUpd("NCUYAO_GIS.Mesta_Puskov_Upd",wsp.sp_Upd);
    }

    private async void fun_InsUpd(string ИмяХП, dlg_sp sp)  { //-- см. wsp.cs
      //-- Готовим параметр запроса
      bl_Разрешение = false;

      lst_Entity = null;
      lst_Entity = new List<row_Entity>();

      //-- Запись в таблицу 
      при.tmrStart();      //-- ProgressBar
      try { await wsp.Entity_SP(ИмяХП, sp, asp, RowToEntity); }
      catch (System.InvalidOperationException ex) { throw new Exception(ex.Message); }
      catch (Exception ex) {
        при.tmrStop();
        MessageBox.Show(ex.Message, caption_Entity, MessageBoxButton.OK);
        bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
        return;
      }

      xrow.chb_Entity = true;
      oc_Entity.Add(xrow);
      iRow = oc_Entity.IndexOf(xrow);
      dgv_Entity.SelectedIndex = iRow;
      при.tmrStop();      
      bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
    }



DELETE
Код: c#
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.
38.
39.
40.
41.
42.
43.
    //-- Удалить
    //=========================================================================================================
    private async void btc_Удалить_Click(object sender, RoutedEventArgs e) {
      if (!bl_Разрешение) return; //-- Запрет обработки нажатия
      if (dgv_Entity.SelectedIndex == -1) return;
      //-- Получим элемент Datagrid
      row_Entity yrow = (row_Entity)dgv_Entity.SelectedItem;
      yrow = (row_Entity)dgv_Entity.SelectedItem;
      iRow = oc_Entity.IndexOf(yrow);

      //-- Флажок разрешения поднят ?
      if (!yrow.chb_Entity) return;  //-- Нет

      //-- Запись удаляется из базы данных ?
      bl_Разрешение = false;     //-- Запрет выполнения функционала компонент

      OracleParameter[] asp = new OracleParameter[3] {
        new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output),
        new OracleParameter("x_pk_mesto_puska", yrow.pk_Entity),
        new OracleParameter("x_nv", yrow.nv)
      };
      lst_Entity = null;
      lst_Entity = new List<row_Entity>();

      при.tmrStart();
      try { await wsp.Entity_SP("NCUYAO_GIS.Mesta_Puskov_Del", wsp.sp_Del, asp, RowToEntity); }
      catch (System.InvalidOperationException ex) { throw new Exception(ex.Message); }
      catch (Exception ex) {
        при.tmrStop();
        MessageBox.Show(ex.Message, caption_Entity, MessageBoxButton.OK);
        if (xrow != null) {
          oc_Entity.RemoveAt(iRow);
          oc_Entity.Insert(iRow, xrow);
          dgv_Entity.SelectedIndex = iRow;
        }
        bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
        return;
      }
      при.tmrStop();
      oc_Entity.RemoveAt(iRow);
      if (oc_Entity.Count != 0) dgv_Entity.SelectedIndex = 0;
      bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
    }


...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538803
_rumbler_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
буттон_клик во всей красе :)
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538810
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_rumbler_буттон_клик во всей красе :)
И почему он не дельфи пишет? )
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39538860
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123_rumbler_буттон_клик во всей красе :)
И почему он не дельфи пишет? )

Программу на Фортране можно написать на любоя языке программирования.
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39539006
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>Addx, сегодня, 20:05 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1261862&msg=20880252] [20880252]
>написать хотя бы... и убрать оттуда ...
повторяю - xrow, lst_Entity<row_Entity> и RowToEntity определены в вызываемом классе.
Методу обратного вызова не надо ничего возвращать в класс msp

То, что у Вас написано плохо, всем давно понятно.
Я написал, как должно быть, а то, что у Вас не так - это не аргумент.
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39539058
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

Хотел было что-то сказать по приведённому коду..
Но он настолько плох, что мне стало нехорошо от его чтения.

Тут собраны все самые наихудшие "техники" в кодировании, которые можно давать как примеры, как делать ни в коем случае нельзя. Это примерно как ходить на стройке без каски, делать операцию без резиновых перчаток, не одевать защитные очки работая с болгаркой. Т.е. так делать можно, но не очень долго
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39539063
_rumbler_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>skyANA, сегодня, 08:50 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1261862&msg=20881042][20881042]

>А зачем они именно там определены? Зачем использовать делегаты? Вы толком объяснить сможете?
На прилагаемом рисунке приведено дерево решения.
Вся обработка информации сосредоточена в классах UserControl, работа в базой данных в классе msp.
Если мне нужна выборка из базы данных с отражением в списке lst_Entity (находящемуся в UserControl), то обращаюсь к главному методу msp. Любое обращение к базе данных в принципе завершается фориированием lst_Entity (и xrow).



какая жесть
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39539069
_rumbler_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>skyANA, сегодня, 13:40 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1261862&msg=20882397][20882397]

>У Вас UserControl одновременно и lst_Entity и xrow отображает?
Да, где то так.
SELECT
Код: c#
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.
38.
39.
40.
41.
42.
43.
44.
 
    //-- SELECT
    //====================================================================================
    private async void ЗапросДанных() {
      if (!bl_Разрешение) return;
      bl_Разрешение = false;

      //-- Готовим параметры запроса
      OracleParameter[] asp = new OracleParameter[3];
      asp[0] = new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output);

      string xstr = tbx_СтранаПуска.Text.Trim();
      xstr = (string.IsNullOrEmpty(xstr)) ? null : xstr + "%";
      asp[1] = new OracleParameter("x_strana_puska", xstr);

      xstr = tbx_МестоПуска.Text.Trim();
      xstr = (string.IsNullOrEmpty(xstr)) ? null : xstr + "%";
      asp[2] = new OracleParameter("x_mesto_puska", xstr);


      при.tmrStart();
      try { await wsp.Entity_SP("NCUYAO_GIS.Mesta_Puskov_Sel", wsp.sp_Sel, asp, RowToEntity); }
      catch (System.InvalidOperationException ex) { throw new Exception(ex.Message); }
      catch (Exception ex) {
        при.tmrStop();
        MessageBox.Show(ex.Message, caption_Entity, MessageBoxButton.OK);
        bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
        return;
      }
      //-- Покажем выборку
      при.tmrStop();
      //dgv_Entity.AutoGenerateColumns = false;
      dgv_Entity.ItemsSource = null;
      if (lst_Entity != null) {
        oc_Entity = new ObservableCollection<row_Entity>(lst_Entity);
        lst_Entity = null;
        dgv_Entity.ItemsSource = oc_Entity;
        //-- Флаг размера выборки
        lbl_ФРВ.Visibility = (nRow == гп.max_Выборка) ? Visibility.Visible : Visibility.Hidden;
        if (oc_Entity.Count != 0) dgv_Entity.SelectedIndex = 0;
        lst_Entity = null;
      }
      bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
    }





INSERT, KLON, UPDATE
Код: c#
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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
    
    //-- Новая
    //==============================================================================
    private void btc_Новая_Click(object sender, RoutedEventArgs e) {
      if (!bl_Разрешение) return; //-- Запрет обработки нажатия

      //-- Формируем параметры
      asp = new OracleParameter[5] {
        new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output),
        new OracleParameter("x_fk_strana_puska", 0),
        new OracleParameter("x_mesto_puska", xrow.str_МестоПуска),
        new OracleParameter("x_lng", xrow.fl_Lng),
        new OracleParameter("x_lat", xrow.fl_Lat)
      };
      fun_InsUpd("NCUYAO_GIS.Mesta_Puskov_Ins", wsp.sp_Ins);
    }

    //-- Клон
    //=========================================================================================================
    private void btc_Клон_Click(object sender, RoutedEventArgs e) {
      if (!bl_Разрешение) return; //-- Запрет обработки нажатия
      if (dgv_Entity.SelectedIndex == -1) return;  //-- Нет выбора
      //-- Получим индекс элемента коллекции
      xrow = (row_Entity)dgv_Entity.SelectedItem;
      iRow = oc_Entity.IndexOf(xrow);

      //-- Формируем параметры
      asp = new OracleParameter[5] {
        new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output),
        new OracleParameter("x_fk_strana_puska", xrow.fk_СтранаПуска),
        new OracleParameter("x_mesto_puska", xrow.str_МестоПуска),
        new OracleParameter("x_lng", xrow.fl_Lng),
        new OracleParameter("x_lat", xrow.fl_Lat)
      };
      fun_InsUpd("NCUYAO_GIS.Mesta_Puskov_Ins",wsp.sp_Ins);
    }

    //-- Изменить
    //=========================================================================================================
    private void btc_Сохранить_Click(object sender, RoutedEventArgs e)  {
      if (!bl_Разрешение) return; //-- Запрет обработки нажатия
      if (dgv_Entity.SelectedIndex == -1) return;  //-- Нет выбора
      //-- Получим индекс элемента коллекции
      yrow = (row_Entity)dgv_Entity.SelectedItem;
      iRow = oc_Entity.IndexOf(yrow);

      bl_Разрешение = false;

      //--  Поля str_МестоПуска, fl_Lng, fl_Lat сформированы ?
      if (
        (yrow.fk_СтранаПуска == 0) || (yrow.str_МестоПуска == "")
        || ((yrow.fl_Lng == 0) && (yrow.fl_Lat == 0))
        || (Math.Abs(yrow.fl_Lng) > 180) || (Math.Abs(yrow.fl_Lat) > 90)
      )
      {
        string message = "Введите корректно данные";
        string caption = "Работа с таблицей МестаПусков";
        MessageBoxResult result = MessageBox.Show(message, caption);
        bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
        return;
      }

      //-- Формируем параметры
      asp = new OracleParameter[7] {
        new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output),
        new OracleParameter("x_pk_mesto_puska", yrow.pk_Entity),
        new OracleParameter("x_nv", yrow.nv),
        new OracleParameter("x_fk_strana_puska", yrow.fk_СтранаПуска),
        new OracleParameter("x_mesto_puska", yrow.str_МестоПуска),
        new OracleParameter("x_lng", yrow.fl_Lng),
        new OracleParameter("x_lat", yrow.fl_Lat)
      };
      fun_InsUpd("NCUYAO_GIS.Mesta_Puskov_Upd",wsp.sp_Upd);
    }

    private async void fun_InsUpd(string ИмяХП, dlg_sp sp)  { //-- см. wsp.cs
      //-- Готовим параметр запроса
      bl_Разрешение = false;

      lst_Entity = null;
      lst_Entity = new List<row_Entity>();

      //-- Запись в таблицу 
      при.tmrStart();      //-- ProgressBar
      try { await wsp.Entity_SP(ИмяХП, sp, asp, RowToEntity); }
      catch (System.InvalidOperationException ex) { throw new Exception(ex.Message); }
      catch (Exception ex) {
        при.tmrStop();
        MessageBox.Show(ex.Message, caption_Entity, MessageBoxButton.OK);
        bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
        return;
      }

      xrow.chb_Entity = true;
      oc_Entity.Add(xrow);
      iRow = oc_Entity.IndexOf(xrow);
      dgv_Entity.SelectedIndex = iRow;
      при.tmrStop();      
      bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
    }




DELETE
Код: c#
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.
38.
39.
40.
41.
42.
43.
    //-- Удалить
    //=========================================================================================================
    private async void btc_Удалить_Click(object sender, RoutedEventArgs e) {
      if (!bl_Разрешение) return; //-- Запрет обработки нажатия
      if (dgv_Entity.SelectedIndex == -1) return;
      //-- Получим элемент Datagrid
      row_Entity yrow = (row_Entity)dgv_Entity.SelectedItem;
      yrow = (row_Entity)dgv_Entity.SelectedItem;
      iRow = oc_Entity.IndexOf(yrow);

      //-- Флажок разрешения поднят ?
      if (!yrow.chb_Entity) return;  //-- Нет

      //-- Запись удаляется из базы данных ?
      bl_Разрешение = false;     //-- Запрет выполнения функционала компонент

      OracleParameter[] asp = new OracleParameter[3] {
        new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output),
        new OracleParameter("x_pk_mesto_puska", yrow.pk_Entity),
        new OracleParameter("x_nv", yrow.nv)
      };
      lst_Entity = null;
      lst_Entity = new List<row_Entity>();

      при.tmrStart();
      try { await wsp.Entity_SP("NCUYAO_GIS.Mesta_Puskov_Del", wsp.sp_Del, asp, RowToEntity); }
      catch (System.InvalidOperationException ex) { throw new Exception(ex.Message); }
      catch (Exception ex) {
        при.tmrStop();
        MessageBox.Show(ex.Message, caption_Entity, MessageBoxButton.OK);
        if (xrow != null) {
          oc_Entity.RemoveAt(iRow);
          oc_Entity.Insert(iRow, xrow);
          dgv_Entity.SelectedIndex = iRow;
        }
        bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
        return;
      }
      при.tmrStop();
      oc_Entity.RemoveAt(iRow);
      if (oc_Entity.Count != 0) dgv_Entity.SelectedIndex = 0;
      bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
    }





зачем Вы публикуете такой говнокод? какая цель? поржать?
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39539082
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>У Вас UserControl одновременно и lst_Entity и xrow отображает?
Да, где то так.Если не затруднит, то сделайте скриншот, где показано как одновременно отображается и lst_Entity, и xrow. А то по коду это понять ох как не просто.
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39539095
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_rumbler_...
зачем Вы публикуете такой говнокод? какая цель? поржать?

Думаю, из этого может выйти неплохая статья "worst practices"
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39539586
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_rumbler_зачем Вы публикуете такой говнокод?
Вообще-то это стандартный код только что изучившего бэйсик и считающего себя готовым к написанию серьёзных программ студента.

Может удивлять, что после 130 страниц обсуждения студент не переходит к написанию чего-то внешне приличного, но на самом деле и это не удивительно, ведь пока студент сам не наступит на сотню граблей, зарытых в его коде, он не будет понимать смысла всех этих высыпающихся на него рекомендаций.

И да, если на формочке пяток кнопок и пара гридов, то такое студенчестое творчество вполне работоспособно. А когда встретятся грабли, студент за один день перепишет с нуля всю формочку, и никакого вам рефакторинга с повторным использованием. Всё очень просто, коротко, и (студенту) ясно. Просто стоимость высасывания грамотного кода из пальца в данном случае действительно может не окупиться, ведь весь код можно переписать быстрее, чем за день. Ну и что, если много раз одно и то же программа делает? Зато студенту, когда ему скажут приготовить ещё формочку, достаточно будет скопипастить что-то готовое и немного поправить. И до тех пор, пока система не потребует неких зависимостей между формочками - это будет работать. И студент будет недоумённо вопрошать - они что, идиоты? Ну почему они мне советуют какую-то уйню, когда у меня всё работает?!

Короче - сложность прожекта не достигла уровня непрерывного хождения по граблям, а потому студент пока что вряд ли захочет учиться, ибо зачем?
...
Рейтинг: 0 / 0
Локальная сеть: web-браузер или десктоп
    #39541003
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очередное подтверждение, что батонокидательство - оно не в языке, а в голове.
...
Рейтинг: 0 / 0
20 сообщений из 3 070, страница 123 из 123
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Локальная сеть: web-браузер или десктоп
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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