Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2011, 11:57   #1
mike_tihomirov
Пользователь
 
Регистрация: 15.02.2010
Сообщений: 58
Вопрос Обновление, удаление с применением 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 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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