Удаление строк из DataGridView с EditMode.EditOnEnter

По умолчанию редактирование в DataGridView весьма неинтуитивно, требует либо ввод чего-то либо нажатия F2 либо многократного кликания, но если мы переключимся на редактирование по клику, то столкнемся с совсем другой проблемой - невозможно выбрать всю строку, чтобы удалить ее из … Читать далее

OleDbDataAdapter, DataTable, пустая строка и ошибка Cannot insert the value NULL

В .Net существует очень простой способ вносить изменения в базу из таблицы, загруженной в DataGridView - использовать методы OleDbDataAdapter вроде Update. К сожалению, как и все коробочные решения данным способ построен по принципу "шаг вправо, шаг влево - расстрел". Если … Читать далее

Как проверить, существует ли логин, роль и пользователь базы в MS SQL Server

Задача: проверить, есть ли на сервере соответствующий серверный логин, роль на уровне базы данных, пользователь на уровне базы данных и создать в случае отсуствия. Решение приводится для MS SQL Server 2005 и выше. Существование серверного логина … Читать далее

Как прочитать db3/dbf/dbase из C#

Одна из особенностей работы в корпоративной среде - необходимость работы с древними как шерстистые носороги форматами. На самом деле для промышленных систем не особо нужен даже графический интерфейс, не говоря уже о более новых технологиях - на некоторых предприятиях до … Читать далее

Работа с Excel из C# через COM Interop, часть 3, чтение данных

В предыдущей статье я рассмотрел простую запись данных в документ Excel. Теперь настала пора чтения. Само собой мы можем прочитать данные из ячейки по индексу, но из какой именно? Кроме простого чтения нам необходимо знать, какая часть документа заполнена данными. … Читать далее

Как полностью закрыть Excel, вызванный из C# Interop

Работа c Excel в C# похожа на работу с Word, но вот выход закрытие используемого в коде приложения осуществляется несколько более сложным образом: предполагая, что … Читать далее

Программы простые и сложные

Есть два способа спроектировать систему. Один — сделать ее настолько простой, что в ней очевидно не будет недостатков, а второй — сделать ее настолько сложной, что в ней не будет очевидных недостатков. Первый способ намного более труден. Тони Хоар … Читать далее

Выполняем операцию для каждой строки в выборке Transact SQL

Задача: определить, есть ли в выборке несколько идущих подряд строк с определенными значениями, например три строки подряд (если просто три, то задача легко решается) с ненулевым значением числового поля. Задача очень простая в алгоритмических языках, но несколько не очевидная в … Читать далее

Совершенный код. 3. Методы.

Разумные причины создания методов: - Снижение сложности. В методе скрывается информация, о которой можно не думать при работе над другими частями программы. - Документирование. Выделение фрагмента кода в удачно названный метод - один из лучших способов его документирования. - Предотвращение … Читать далее

Как раскрасить строки (изменить цвет текста) в ComboBox (C# и WinForms)

Имеется комбо-бокс, связанный с источником данных. Задача: раскрасить строки в разные цвета по какому-то критерию, связанному с источником данных. Чтобы решить эту задачу придется изменить отрисовку на экране строк комбо-бокса повесившись на событие DrawItem. По умолчанию это событие не происходит, … Читать далее