Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение существующей записи, Отобразить запись на др форме 
:(
    Опции темы
Doss
Дата 5.7.2008, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Что не могу сообразить, вот в базу внесены данные, они уже там достаточно долгое время торчат, прошел не один десяток строк, хочу n-ю изменить в содержании, щелчек по ней, открывается формочка, на которой все записи сроки, естественно каждая по своим элементам распределена. Изменил смело щелчек и форма закрылась и в базе изменилась!!!
Вот как же это сделать с DataGridView, маленький пример и я буду счестлик как всега после удачи в борьбе с желеом......
Приклоняюсь перед людми прошедшие этот путь!!!!
 smile 
PM MAIL   Вверх
jonie
Дата 5.7.2008, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



ну, например так. на ошибки проверок нет, т.к. важна суть )
ввести сначала строку надо, конечно же. потом уже даубл клик на ней..

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  WindowsFormsApplication7.rar 9,64 Kb


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Doss
Дата 5.7.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Спасибо, покумекаю....
Цитата

Как много мы не знаем в этом мире, но от этого мы чевствуем себя реальнее

PM MAIL   Вверх
Doss
Дата 6.7.2008, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Все нормально, только вот когда в дс залиты данные и отображены в DataGridVew как их отправить в базу, т.е. обновить или ввести заново вместо сущ зписи, тогда как она (запись) будет иметь инкремент тот же самый?
Код

  private void button5_Click(object sender, EventArgs e)
        {
            Form2  frm = new Form2();
            if (frm.ShowDialog() == DialogResult.OK)
            {
                try
                {

                   //Как тут обновить внесенные данные

                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, ex.Source);
                }
            }
        }


И код формы, с которой данные пересылаю
Код

using System.Text;
using System.Windows.Forms;

namespace MyPog
{
    public partial class Form3 : Form
    {
        DataRow dr;

        public Form3(DataRow dr)
        {
            InitializeComponent();
            this.dr = dr;
        }


        public DataRow Row
        {
            get
            {
                return dr;
            }
        }

        private void Form3_Load(object sender, EventArgs e)
        {
            textBox1.Text = dr[0].ToString();
            textBox2.Text = dr[1].ToString();
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            dr[0] = textBox1.Text;
            dr[1] = textBox2.Text;
            DialogResult = DialogResult.OK;
            Close();
        }

    }
}



PM MAIL   Вверх
jonie
Дата 6.7.2008, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



а это уже другой вопрос. это уже см. в справочнике про "как работать с АDO.NET". мыже меняем данные в DataSet-е, вот оттуда и надо скакать...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Doss
Дата 7.7.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Все же  smile 
НЕ пойму одно, вроде бы изменене не отличается от добавление почти ни чем, но вношу изменения и заливаю в датасет, они там есть, остается козалось бы отправить в базу по команде обновить, но пишет, "Не соответствие типов данных в вырожении условия отбора"
Проверяю на изменения в ДС они есть, что еще надо то?
Код

if (dgv.SelectedRows.Count > 0 && dgv.SelectedRows[0].DataBoundItem != null)
            {
                DataRow selRow = ((DataRowView)dgv.SelectedRows[0].DataBoundItem).Row;

                int selID = Convert.ToInt32(selRow["ID_test"]);
                MessageBox.Show("Идентификационный номер=" + selID);
                Form3 edr = new Form3(selRow);

                if (edr.ShowDialog() == DialogResult.OK)
                {
                    try
                    {

                        selRow.BeginEdit();
                        selRow["ID_test"] = selID;
                        selRow["id"] = edr.textBox1.Text;
                        selRow["test"] = edr.textBox2.Text;
                                              
                        if (ds.HasChanges())
                        {
                            selRow.EndEdit();
                            MessageBox.Show(ds.HasChanges(DataRowState.Modified ).ToString());

                               da.Update(ds,"TB");



                           }
 }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, ex.Source);
                    }
                }
                else
                {
                    selRow.CancelEdit();
                }
            }
        }

 smile 
PM MAIL   Вверх
Doss
Дата 8.7.2008, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.10.2007

Репутация: нет
Всего: нет



Может ктонибудь обратит на мою темку, не могу втыкнуть в тему, пробывал вливать в DataView, а после обновлял, не помогло, идет не понимание.... smile 
Вот последний мой вздох на эту тему....
Код

 private void dgv_DoubleClick(object sender, EventArgs e)
        {
            if (dgv.SelectedRows.Count > 0 && dgv.SelectedRows[0].DataBoundItem != null)
            {
                DataRow selRow = ((DataRowView)dgv.SelectedRows[0].DataBoundItem).Row;

                int selID = Convert.ToInt32(selRow["ID_test"]);
                MessageBox.Show("Идентификационный номер=" + selID);
                Form3 edr = new Form3(selRow);

                if (edr.ShowDialog() == DialogResult.OK)
                {
                    try
                    {

                        selRow.BeginEdit();
                        


                        if (ds.HasChanges())
                        {
                            selRow.EndEdit();
                            MessageBox.Show(ds.HasChanges(DataRowState.Modified).ToString());
                            da.Update(dataTable.GetChanges());
                            //da.Update(ds, "TB");



                        }
                       


                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, ex.Source);
                    }
                }
                else
                {
                    selRow.CancelEdit();
                }
            }
        }

Буду благодарен даже если отчитают, но лишь бы разяснили принцип работы....рабочий пример с обновлением в базе
PM MAIL   Вверх
jonie
Дата 9.7.2008, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 8
Всего: 118



почитай про ADO.NET чтоли.. пример как заливать изменения из DataSet-a в DB в аттаче...

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  WindowsFormsApplication7__.rar 20,12 Kb


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0897 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.