Чтение и запись данных на MS SQL Server с помощью OLE DB и ADO.NET

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

Оператор insert into ... select в transact sql

Обычный оператор вставки значений в таблицу INSERT: Для вставки в таблицу выборки строк из другой таблицы используется следующее выражение: Если таблица простая, то копирование данных можно совместить с ее созданием Для сложных таблиц это не сработает, например свойство IDETITY пропадет … Читать далее

Как пренести таблицу MS SQL Server на другой сервер/базу с сохранением IDENTITY

Иногда на разных серверах-базах надо иметь точные копии одной и той же таблицы, содержащей столбец IDENTITY, значения которого должны быть уникальны и генерятся автоматически. Простые операторы выборки и вставки не помогают, особенно если некоторые строки удалялись и коды идут непоследовательно … Читать далее

Всплывающая подсказка не показывается после клика на кнопке - C#, WinForms

Имеем умную, красивую и обаятельную кнопку со всплывающей подсказкой (ToolTip) и не менее очаровательную проблему - после клика по кнопке всплывающая подсказка перестает всплывать. И что делать? Судя по всему это глюк то ли .Net то ли самих Windows, решается … Читать далее

Особенности связки ComboBox с DataTable и ошибка с System.Data.DataRowView

Программисты - существа капризные и непредсказуемые. Иногда у них возникает желание заполнить ComboBox данными из DataTable вручную, не используя визуальную среду. Делается это следующим образом: Не заполнив DisplayMember и ValueMember можно получить совершенно невнятную ошибку - ComboBox будет заполнен строками … Читать далее

Как вставить строку на заданную позицию DataTable

Иногда надо вставить дополнительную строку на заданную позицию в DataTable. Алгоритм прост, создаем пустой DataRow, соответствующий структуре данной таблицы, с помощью метода NewRow(), заполняем его данными и добавляем в коллекцию строк методом InsertAt(). … Читать далее

Глюк с копированием данных в буфер из DataGridView

Есть DataGridView с некими мега-важными данными, которые мы хотим скопировать в Excel через гениальную особенность ОС Windows "буфер обмена". Преисполненные самых радужных надежд жмем Ctrl+C, Ctrl+V и получаем тотальную абракадабру в левой кодировке. "Если видишь в стенке люк, не пугайся … Читать далее

Transact SQL и MS SQL Server - получаем список ролей для текущего пользователя и всех пользователей

Механизм ролей в MS SQL Server не так прост, как кажется, если имя пользователя добывается легко и непринужденно: то список ролей можно получить с помощью утюга, паяльника, дыбы, испанского сапога и следующего запроса Типичный программист любопытен, хочет все знать и … Читать далее

Определяем название метода и класса, выполняющихся в данный момент

Определить название метода можно с помощью метода MethodBase.GetCurrentMethod или аналогичного метода класса MethodInfo Оба метода возвращают одно и то же значение. Какой использовать? GetCurrentMethod() - это общий (shared) метод классов MethodBase и MethodInfo. Но класс MethodInfo является производным от класса … Читать далее

Файлы в C# - проверяем наличие файла, определяем размер, дату последнего изменения, перемещаем удаляем

Проверить, существует ли файл, можно с помощью функции Exists класса File Получить список путей к файлам в каталоге - Directory.GetFiles Проверить, существует ли каталог и создать новый - Directory.Exists и Directory.CreateDirectory … Читать далее