Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Petro123
SAS2014
вообщем надо в переменную запихнуть каталог где лежит tnsnames.ora
глянь переменные среды операционки. Если есть ORA_HOME то та рядышком и лежит.
Ещё реестре можно.


Разобрался, пришлось помучится но все гуд
20 июл 18, 09:40    [21587320]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Подскажите как можно сделать такую вещь

У меня в приложении есть датагридвью, он заполняется из БД данными, теперь надо, чтобы например при закрытие программы или чтобы кнопка которая обновляет данные активировалась только тогда даже хотябы одна ячейка была изменена.
А при закрытие если данные не обновились, но в датагридевью изменились, выдавало сообщение
"Если закроете программу то данные будут потеряны" типа того ))

пример начальные данные
фио статус
петров в.в автор
иванов с.в потребитель


пример измененные данные
фио статус
петров в.в потребитель
иванов с.в потребитель

и тут при закрытие если данные не обновились в БД, должно появится "Если закроете программу то данные будут потеряны"
20 июл 18, 09:49    [21587346]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
SAS2014,
Тебе 2 раза говорили, создавай тему на каждый вопрос и с понятным названием.
20 июл 18, 10:00    [21587398]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3658
у датагрида есть событие CellChanged или EditApply, или как то так, но в таком же духе. Если это событие возбудилось, поменяйте флаг, который определяет изменилось содержимое или нет. Если хоть 1 раз изменилось.
После сохранения этот флаг сбрасывать
20 июл 18, 10:19    [21587499]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Пытаюсь сравнить столбцы в датагридах, но ничего не получается может кто то сталкивался с такой задачей и подскажет в чем ошибка
логика просто есть datagridview3 в который загружается первичные данные
и есть основной datagridview2 в котором будет происходит изменение ячеек в столбцах
и при нажатие кнопки происходит сравнение значений и прграмма должна сказать есть изменение или нет

private void button10_Click(object sender, EventArgs e)
        {
            Boolean isEqual = true;
            for (int i = 0; i < dataGridView2.Rows.Count; i++)
                
            {

                if (!dataGridView2.Rows[i].Cells[2].Value.ToString().Equals(dataGridView3.Rows[i].Cells[2].Value.ToString())) 
                {
                    isEqual = false;
                    break;
                }
            }
            MessageBox.Show((isEqual) ? "Равно" : "Неравно");
        }
25 июл 18, 09:28    [21600215]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21187
SAS2014
ничего не получается ... происходит сравнение... прграмма должна сказать есть изменение или нет
а что на самом деле говорит? "Не получилось"?

Сообщение было отредактировано: 25 июл 18, 09:42
25 июл 18, 09:41    [21600261]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Shocker.Pro
SAS2014
ничего не получается ... происходит сравнение... прграмма должна сказать
а что на самом деле говорит? "Не получилось"?


пишет что неразные
25 июл 18, 09:42    [21600266]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
мне надо знать что они разные или нет, а что там изменилось какая ячейка по барабану
25 июл 18, 09:43    [21600269]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21187
SAS2014
пишет что неразные
странно, ведь заложено только "Равно" и "Неравно"

А отлаживать по шагам не пробовал?
25 июл 18, 09:44    [21600270]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Shocker.Pro
SAS2014
пишет что неразные
странно, ведь заложено только "Равно" и "Неравно"

А отлаживать по шагам не пробовал?


пробывал сюдя посему в условии не попадает
26 июл 18, 00:58    [21603003]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21187
SAS2014
пробывал сюдя посему в условии не попадает
Ну это и так очевидно, что не попадает. Ну так и посмотри под отладкой, почему не попадает, что с чем сравнивается, в чем проблема-то?
26 июл 18, 04:15    [21603034]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Данный код позволяет сохранить данные в таблицу oracle, НО ОН делает не так как надо те.е выполяет фактически перезапись всех строк в таблице теми какие в datagridview

А нужно ТОЛЬКО измененные данные записывать

conn = new OracleConnection(String.Format("data Source={0};Persist Security Info=True;User ID={1}; password={2}", names, login, pwd));
                        conn.Open();

                        int i;
                        for (i = 0; i < this.dataGridView2.Rows.Count; i++)
                        {
                            string sql = string.Format("update TEST.PPOM_USER set pstatus = {0}, plicense_level = {1} where puser_id='{2}'", dataGridView2.Rows[i].Cells[2].Value, dataGridView2.Rows[i].Cells[3].Value, dataGridView2.Rows[i].Cells[0].Value);
                            cmd = new OracleCommand(sql, conn);
                            cmd.ExecuteNonQuery();
                            
                        }
                        conn.Close();
30 июл 18, 04:52    [21613035]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21187
SAS2014
А нужно ТОЛЬКО измененные данные записывать
Ну и записывай только измененные. Вопрос-то какой?

Сообщение было отредактировано: 30 июл 18, 04:57
30 июл 18, 04:57    [21613038]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Shocker.Pro
SAS2014
А нужно ТОЛЬКО измененные данные записывать
Ну и записывай только измененные. Вопрос-то какой?


как это записать в код
30 июл 18, 06:37    [21613099]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21187
ЭТО - это что?
Ты же определил строки, которые изменились? Ну так и записывай только их.
30 июл 18, 06:45    [21613109]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21187
Ты свои проблемы не описываешь, как и в прошлом случае, а мы почему-то должны догадаться, то ли ты не можешь определить, какие строки изменились, то ли ты не знаешь, как написать if внутри цикла, то ли ты не можешь sql-запрос составить, то ли еще что-то. Если ты будешь тратить чуть больше времени на описание своей проблемы, ты гораздо быстрее будет получить ответы на свои вопросы. А то сначала приходится вопрос угадывать, а потом уже ответ давать
30 июл 18, 06:50    [21613113]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Shocker.Pro
ЭТО - это что?
Ты же определил строки, которые изменились? Ну так и записывай только их.


я определил что были изменения .... а какие строки нет
30 июл 18, 06:53    [21613118]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
вопрос простой ... как сказать с# что нужно из датагрида записать в таблицу oracle только те строки которые были изменены в процессе работы программы
30 июл 18, 06:55    [21613119]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21187
SAS2014
вопрос простой .
Ну раз вопрос простой, то и ответ простой (на базе твоего кода)
                        for (i = 0; i < this.dataGridView2.Rows.Count; i++)
                        {
                            if (строка i изменилась в процессе работы программы) {
                                ...
                                cmd.ExecuteNonQuery();
                            }
                        }


Сообщение было отредактировано: 30 июл 18, 07:34
30 июл 18, 07:05    [21613125]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Shocker.Pro
SAS2014
вопрос простой .
Ну раз вопрос простой, то и ответ простой (на базе твоего кода)
                        for (i = 0; i < this.dataGridView2.Rows.Count; i++)
                        {
                            if (строка i изменилась в процессе работы программы) {
                                ...
                                cmd.ExecuteNonQuery();
                            }
                        }


любой так может кто чт то понимает , а ты полную картину напиши, чтобы я видел что только строки изменившийся в базу летят
30 июл 18, 08:49    [21613236]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21187
SAS2014
а ты полную картину напиши... чтобы я видел
Может за тебя еще всю твою курсовую написать?

У тебя есть код проверки строки на изменение
У тебя есть код цикла записи строк
У тебя есть псевдокод, который позволяет совместить две эти вещи.

Бери и совмещай, иначе ничему не научишься.

Сообщение было отредактировано: 30 июл 18, 08:58
30 июл 18, 08:57    [21613249]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145678
SAS2014
вопрос простой ... как сказать с# что нужно из датагрида записать в таблицу oracle только те строки которые были изменены в процессе работы программы

Вообще-то данные изменяются в DataTable, а DataGridView их только отображает.
То есть вопрос должен быть такой:
- Как записать измененные строки DataTable в таблицу oracle?
30 июл 18, 09:14    [21613296]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5463
Cat2
Вообще-то данные изменяются в DataTable, а DataGridView их только отображает.
То есть вопрос должен быть такой:
- Как записать измененные строки DataTable в таблицу oracle?

Почему обязательно в DataTable? Источником данных может быть любой IEnumerable.
30 июл 18, 09:26    [21613315]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Cat2
SAS2014
вопрос простой ... как сказать с# что нужно из датагрида записать в таблицу oracle только те строки которые были изменены в процессе работы программы

Вообще-то данные изменяются в DataTable, а DataGridView их только отображает.
То есть вопрос должен быть такой:
- Как записать измененные строки DataTable в таблицу oracle?

да
30 июл 18, 09:36    [21613341]     Ответить | Цитировать Сообщить модератору
 Re: Нужна помощь экспертов в C#  [new]
SAS2014
Member

Откуда: Сталинград
Сообщений: 2870
Или вот идея еще возникла, а если сравнивать построчно таблицу из оркала в датагридом .. и если есть строки с разными даными т.е. 0 сменился на 1 в одной и з ячейки строки, то ессено делать апдейт строки в оракле
30 июл 18, 09:37    [21613346]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить