Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205

Удалить пустые строки таблице DBF

06.03.2015, 23:48. Показов 3689. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток!
Сейчас разрабатываю программу для заполнения основной учебной базы, и одни человек с форума реализовал часть сложного кода, написание которого вызвало у меня сложности. При уже финальных штрихах появились пару вопросов, ответов на которые, увы, я не нашел.
1) Есть таблица в Excel, и ее заносим в созданную таблицу DBF (dBase III). При просмотре утилитами dbf-viewer в конце обнаруживаются пустые строки, которых в Excel нет с учетом удаления там всего. Товарищ реализовал процедуру через aQuery.SQL.Text: создание таблицы происходит так:
Delphi
1
aQuery.SQL.Text :=  'CREATE TABLE [' + aTableName + '] ( описание полей);
Я попробовал удалить пустые строки с помощью команды, но у меня ничего не вышло:
Delphi
1
aQuery.SQL.Text :=  'delete * from [' + aTableName + '] where Поле_1 IS NULL AND ... Поле_N IS NULL';
2) возник так же вопрос по типу данных при создании таблицы. Прочитал статью http://www.realcoding.net/arti... nnykh.html и многие вопросы отпали сами собой, но при создании таблицы команда вида:
Delphi
1
aQuery.SQL.Text :=  'CREATE TABLE [' + aTableName + '] (Поле1 Поле_N NUMERIC(12,0))';
не изменило тип данных и тот же dbf-viewer говорит о стандартном типе данных NUMERIC(19,5). С character проблем не возникло и нужное количество символов до и после точки задается.
Если это важно, то значения заношу командами:
Delphi
1
2
3
if VarType(Arr[i, 9]) = varDouble then      
          aQuery.Parameters[9].Value := Arr[i, 9]   else
          aQuery.Parameters[9].Value := NULL;
Решение интересно, но не обязательно. Приветствуются ссылки на статьи и книги, чтобы сам разобрался.

Не по теме:

А то очередной нахлебник :) Надеюсь многоуважаемый автор кода не обидеться, что я задал подобные вопросы и выложил пару его строк.

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2015, 23:48
Ответы с готовыми решениями:

Удалить пустые и дублирующий строки
База создана в парадокс Там введено 4 строки данных, так вот в самом дели я через dbnavigator добавляю данные, как сделать так чтобы чтобы...

Как удалить пустые строки в ADOdataset?
Есть adodataset, который связан с DBGrid. При удалении всех значений из полей в DBgrid, остаются пустые строки, которые собственно остаются...

Пустые строки в таблице данных
Привет. Производил выборку данных, на основе генератора случайных чисел. Пример: $all = mysql_num_rows(mysql_query("SELECT...

4
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
07.03.2015, 02:40
Цитата Сообщение от Пётр Нефедов Посмотреть сообщение
При просмотре утилитами dbf-viewer в конце обнаруживаются пустые строки, которых в Excel нет с учетом удаления там всего.
Хотелось бы увидеть хоть раз в жизни своими глазами таблицу БД с "пустыми строками".
Цитата Сообщение от Пётр Нефедов Посмотреть сообщение
но при создании таблицы команда вида:
aQuery.SQL.Text := 'CREATE TABLE [' + aTableName + '] (Поле1 Поле_N NUMERIC(12,0))';
не изменило тип данных
Хм. "Команда типа" CREATE TABLE вроде и не должна изменять что-то уже имеющееся. Она вроде должна создавать нечто новое.
Цитата Сообщение от Пётр Нефедов Посмотреть сообщение
Приветствуются ссылки на статьи и книги
Понимание SQL
0
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
07.03.2015, 10:54  [ТС]
Цитата Сообщение от northener Посмотреть сообщение
Хотелось бы увидеть хоть раз в жизни своими глазами таблицу БД с "пустыми строками".

Хм. "Команда типа" CREATE TABLE вроде и не должна изменять что-то уже имеющееся. Она вроде должна создавать нечто новое.

Понимание SQL
За ссылку огромное спасибо!

Команда "CREATE TABLE" создает новую таблицу, не изменяет, я с вами согласен, но задание типа данных для столбца типа Numeric с заданным количеством символов, к примеру, 12.0 или 15.1 не срабатывает. Столбец остается с типом данных по умолчании Numeric (19.5), а вот Char создается как необходимо.

*Насчет таблицы с пустыми строками - могу выслать, что получалось, однако, утром нашел грубую ошибку в коде, и вопрос с удалением пустых строк отпал.
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
09.03.2015, 02:12
Цитата Сообщение от Пётр Нефедов Посмотреть сообщение
но задание типа данных для столбца типа Numeric с заданным количеством символов, к примеру, 12.0 или 15.1 не срабатывает. Столбец остается с типом данных по умолчании Numeric (19.5)
Как ты это определил?
0
5 / 5 / 2
Регистрация: 04.10.2010
Сообщений: 205
09.03.2015, 11:41  [ТС]
Сторонними утилитами, которые открывают файлы со структурой DBF : DBF Commander и sdbf (http://habrahabr.ru/sandbox/73266/) . Даже Excel показывает, что формат ячеек имеет числовой формат ячеек (что нам и нужно), но число десятичных знаков равно 5.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.03.2015, 11:41
Помогаю со студенческими работами здесь

Не выводить в сводной таблице пустые строки
Всем добрый вечер. Есть огромная таблица с данными, но один столбец заполнен не полностью, заполнен только в случае наличия продажи,...

Как убрать пустые строки в таблице?
Добрый день. У меня цикл <?php foreach($fieldset as $field) { ?> <tr> <td> <?php echo $field; ?> <!-- выводим название...

Как в таблице выбрать записи, строки которых пустые?
Как в таблице выбрать записи, строки которой пустые mysql_query("select * from `table` where `stroka` like ????????? ");

Удалить пустые строки в ListBox и собрать строки вместе
Допустим в ListBox есть строки с пропуском: 1 asdf 2 qwerty 3 4 zxcvbb 5 6 uyuuty

Почему при импорте тхт-файлов в таблице только пустые строки?
Вот пример исходника: DoCmd.TransferText acImportDelim, 'Valuables - спецификация импорта', 'Temp_val', f1чего не так?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru