Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 25.06.2011, 11:57   #1
mike_tihomirov
Форумчанин
 
Регистрация: 15.02.2010
Сообщений: 58
Репутация: 10
Вопрос Обновление, удаление с применением SqlCommandBuilder

Добрый день. Вопрос такой. Учу АДО
Не пойму как обновить и удалить строку в БД.

Уровень DAL:
Код:
SqlDataAdapter employeesDA = new SqlDataAdapter("SELECT * FROM Employees", connectionString);
SqlCommandBuilder employeesCB = new SqlCommandBuilder(employeesDA);
Я так понял что SqlCommandBuilder генерит все остальные команды.

Код:
internal bool SaveChanges(DataSet msDB)
{
     bool flag = false;
     ....................
     try
     {
            employeesDA.Update(msDB.Tables["Employees"]);
     }
      ...................
}
Уровень UI.
Добавление строки выглядит так:

Код:
private void btn_add_Click(object sender, EventArgs e)
        {

            DataRow drNewEmlpoyees = myStoreDB.Tables["Employees"].NewRow();

            try
            {
                drNewEmlpoyees["ID"] = Guid.NewGuid();
                drNewEmlpoyees["FullName"] = txbx_fullName.Text;
                drNewEmlpoyees["Post"] = txbx_post.Text;
                drNewEmlpoyees["Address"] = txbx_address.Text;
                drNewEmlpoyees["Phone"] = Int32.Parse(txbx_phone.Text);
                drNewEmlpoyees["BirthDate"] = DateTime.Parse(dtp_employees.Value.ToString());
                drNewEmlpoyees["Notes"] = txbx_notes.Text;

                myStoreDB.Tables["Employees"].Rows.Add(drNewEmlpoyees); 

                ........................
                emloyeesBll.SaveChanges(myStoreDB);
             }
          ...................
        }
т.е. здесь я вижу, что с помощью Add
Код:
 
myStoreDB.Tables["Employees"].Rows.Add(drNewEmlpoyees);
в таблицу добавляется строка и через BLL, myStoreDB типа DataSet, компилятор понимает,
что надо добавить строку и вызывает INSERT ...

Дальше...

С вытягиванием данных тоже вопроса нет.
Уровень DAL:
Код:
employeesDA.Fill(myStoreDB, "Employees");
и дальше myStoreDB передаю на уровень UI.

1-й ?) А вот КАК ОБНОВИТЬ выбранную строку в таблице "Employees" в БД я не пойму.
Поясняю: на форме "Служащие" есть текстбоксы в которых данные привязаны к датагридвью-ду.
Я изменяю, к примеру текстбох "Name", дальше

Код:
        private void btn_update_Click(object sender, EventArgs e)
        {
            DataGridViewSelectedRowCollection rows = dgv_emplAdm.SelectedRows;
            DataRow drCur;

            foreach (DataGridViewRow row in rows)
            {
                drCur = (row.DataBoundItem as DataRowView).Row;
                drCur.BeginEdit();
                drCur["Name"] = txbx_Name.Text;
                drCur.EndEdit();
            }
Изменил строку, а как теперь myStoreDB сказать какую сроку нужно обновить,
и как это сделать?
Кстакти, почемуто rows.count упорно возвращает NULL, хотя строки в dgv_emplAdm есть,
и первая строка выбрана изначально.

Код:
            emloyeesBll.AddNewEmploees(myStoreDB);
         }
2-й ?) Как удалить выбранную в dgv_employees строку.

Старался объяснить проблему внятно.
В общем знающие, нужна ваша помощь.
__________________
Не бывает глупых вопросов.
Глупец тот, кто не спрашивает.
mike_tihomirov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с применением стиля ALev Microsoft Office Word 3 04.12.2009 11:00
Задание на Excel c применением VBA rafaiil Помощь студентам 11 13.05.2009 00:32
Счетчик ip с применением mysql veter_s_morya PHP 5 01.03.2009 22:39
Удаление, обновление записей из MySQL таблицы xDjarx БД в Delphi 2 14.05.2008 13:36


20:32.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.