Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
 Аватар для Razvedka2020
40 / 35 / 9
Регистрация: 01.01.2014
Сообщений: 202
.NET 2.x

Как удалить столбцы из таблицы (DBF)

01.01.2014, 21:11. Показов 5515. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток уважаемые форумчане. Сразу приношу вам извинение за возможно глупый вопрос, я не профи, а всего лишь самоучка-любитель. Поиском пользовался, скоро уже мозоли на глазах будут.
Озвучу в крацие суть задачи (проблемы): не могу ни как удалить столбцы из таблицы (DBF)

Пробовал через OleDb:
VB.NET
1
2
3
4
5
6
7
8
Dim cnn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\;Extended Properties=dBASE IV;User ID=Admin;Password=;")
        Dim cmd As OleDbCommand = New OleDbCommand
        cmd.Connection = cnn
        cmd.CommandType = CommandType.Text
        cmd.CommandText = "ALTER TABLE pdl DROP COLUMN dtr"
        cnn.Open()
        cmd.ExecuteNonQuery()
        cnn.Close()
Пробовал через Odbc:
VB.NET
1
2
3
4
5
6
7
8
Dim cnn As OdbcConnection = New OdbcConnection("Dsn=Файлы dBASE;dbq=C:\;defaultdir=C:\;driverid=533;maxbuffersize=2048;pagetimeout=5;Exclusive=true;Deleted=Yes")
        Dim cmd As OdbcCommand = New OdbcCommand
        cmd.Connection = cnn
        cmd.CommandType = CommandType.Text
        cmd.CommandText = "ALTER TABLE pdl DROP COLUMN dtr"
        cnn.Open()
        cmd.ExecuteNonQuery()
        cnn.Close()
В обоих случаях ошибка: "Невозможно изменение структуры таблицы 'pdl'. База данных доступна только для чтение".
Дайте пожалуйста дельный совет, что я делаю не так?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.01.2014, 21:11
Ответы с готовыми решениями:

КАК ПРОЧИТАТЬ с нолевого столбца таблицы DBF
Среда Visual Basic STUDIO’2010 Professional Dim dBaseDataReader As System.Data.OleDb.OleDbDataReader =...

Как совсем удалить записи из таблицы DBF?
DELETE * From table1 where... - только помечает записи как удаленные. А как физически удалить ненужные записи (напрочь)?

Копирование данных из одной таблицы dbf в шаблон dbf
Есть источник файл med.dbf с данными, необходимо перенести часть данных в файл-шаблон med.dbf. Особенность заключается в том, что в файле...

31
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,931
Записей в блоге: 5
02.01.2014, 21:53
Студворк — интернет-сервис помощи студентам
Кстати, в таблице нет колонки с именем dtr. Если таблица не особо большая, то можно открыть ее в Excel. Я открыл ее при помощи Libre Office, добавил две записи (pdl1.dbf), удалил одну колонку (pdl2.dbf).
Вложения
Тип файла: zip deldbf.zip (455 байт, 7 просмотров)
0
 Аватар для Razvedka2020
40 / 35 / 9
Регистрация: 01.01.2014
Сообщений: 202
02.01.2014, 21:59  [ТС]
Цитата Сообщение от palva Посмотреть сообщение
напишите обработку двоичного файла
Вот с этого момента вас не затруднит немного поподробнее?

Добавлено через 5 минут
В данный момент там не только этой колонки нет (на пустой таблице ALTER TABLE применил). В этой таблице до редактирования порядка 30-40 колонок и весит все это чудо 119 МБ, а мне всего то нужно 5 колонок и 2,2 МБ. Каждый раз (каждую неделю) редактировать таблицу через DBFNavigator можно, но как вы прикажете этому обучить моих "обезьян" на работе?
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
02.01.2014, 22:01
Цитата Сообщение от palva Посмотреть сообщение
в таблице нет колонки с именем dtr
Таки есть :-)
Миниатюры
Как удалить столбцы из таблицы (DBF)  
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,931
Записей в блоге: 5
02.01.2014, 22:02
Вот это как раз и затруднит. У меня нет не только микрософт офиса но и vb.net. Если на C# только показать...
0
 Аватар для Razvedka2020
40 / 35 / 9
Регистрация: 01.01.2014
Сообщений: 202
02.01.2014, 22:02  [ТС]
Цитата Сообщение от palva Посмотреть сообщение
то можно открыть ее в Excel
Таблицу ручками можно в чем угодно редактировать, хоть в Экселе, хоть в Ацесе...
Программа в первую очередь ориентируется на рядового сотрудника, который до сих пор считает что Microsoft Office это ОС
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
02.01.2014, 22:07
Цитата Сообщение от Razvedka2020 Посмотреть сообщение
обучить моих "обезьян" на работе
IMHO, нескольких строк скрипта на старом (DOS) Foxpro будет достаточно.

Возможно, и более новый сгодится, просто в этом веке я с ним уже не сталкивался.
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,931
Записей в блоге: 5
02.01.2014, 22:07
gazlan, я, наверно, второй архив скачал. У меня уже этого поля не было, и байт 1A в конце отсутствовал (но это уже не важно).
0
 Аватар для Razvedka2020
40 / 35 / 9
Регистрация: 01.01.2014
Сообщений: 202
02.01.2014, 22:11  [ТС]
Цитата Сообщение от gazlan Посмотреть сообщение
на старом (DOS) Foxpro будет достаточно
Мне стыдно конечно это признать, но в этом вопросе уже я "обезьяна"...
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
02.01.2014, 22:37
Цитата Сообщение от palva Посмотреть сообщение
уже этого поля не было, и байт 1A в конце отсутствовал
Да, действительно. Ни поля, ни соответствия стандарту. Впрочем, к отсутствию 1Ah, большинство программ относится либерально.
Миниатюры
Как удалить столбцы из таблицы (DBF)  
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,931
Записей в блоге: 5
02.01.2014, 22:38
На C# как-то так будет. На VB те же классы .NET нужно использовать.
C#
1
2
3
4
5
6
using System.IO;
...
            byte[] buf;
            BinaryReader br = new BinaryReader(File.Open("pdl1.dbf", FileMode.Open));
            //BinaryWriter bw = new BinaryWriter(File.Open("pdl2.dbf", FileMode.Create));
            buf=br.ReadBytes(8);
Если вы возьметесь писать, то я думаю, форум вам поможет.
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
02.01.2014, 22:43
Цитата Сообщение от Razvedka2020 Посмотреть сообщение
но в этом вопросе
Гм. Если вы дадите примеры (структуры) ваших таблиц - пустых, данные не нужны - я попробую написать простенький фильтр, который будет копировать из одного файла в другой только нужные вам поля. Но не на Fox -и под рукой нет, и вспоминать неохота :-)
0
 Аватар для Razvedka2020
40 / 35 / 9
Регистрация: 01.01.2014
Сообщений: 202
06.01.2014, 18:09  [ТС]
Всем спасибо за непосильную помощь и дельные советы, тему можно закрывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.01.2014, 18:09

Как удалить записи с БД в формате .dbf
Всем доброго времени суток у меня такой вопрос: как программно удалить записи с БД в формате .dbf, в которой есть поле dtt1(дата-время)...

Как узнать структуру dbf-таблицы?
подключаюсь к dbf-таблице с помощью АДО и ODBC драйвера, могу ли я узнать структуру нужной мне таблицы (количество полей, имена полей, тип...

Как удалить запись из dbf файла в ADO?
Использую АДО... таблица Dbase III... Записи добавляются без проблем, но удалять не хочет никак... вот код row_pos =...

DBF - поменять местами столбцы
Как можно поменять столбцы местами TTable, DBF

Как удалить столбцы
Нужна программа , которая удаляет столбцы из двумерного массива , запрашивая номер столбца по одному.


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru