powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Множественное INSERT или что еще?
9 сообщений из 9, страница 1 из 1
Множественное INSERT или что еще?
    #39574369
sonmax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
есть файл test.dbf
его формирует ИС из базы Firebird (поэтому обратился сюда:) )
структура таблицы
Код: sql
1.
CREATE TABLE test ([N1] Char(5),[N2] Char(10) NULL,[N3] Char(10) NULL,[N4] Char(2) NULL)


данные:
Код: html
1.
2.
3.
4.
5.
N1	N2	            N3	       N4
65	01.11.2017	07:01:09	0
80	01.11.2017	07:21:23	0
3	01.11.2017	07:23:38	0
4	01.11.2017	07:24:44	0


задача в общем-то проста, надо добавить новую колонку N5 Char(2), и проанализировать построчно столбцы N2 и N3.
Далее в зависимости от их значения вставить в N5 (1 или 2 или 3).

вся логика на C#, подключение к базе через
Код: c#
1.
Microsoft.Jet.OLEDB.4.0


но зашел в тупик по сути с простыми вещами.
1 вариант - создаю новый файл test_new.dbf и в него пишу нужные мне данные.
но несколько INSERT не проходят, только по одному.
А это очень долго (записей до 10тыс.) да и на тысячной записи уже вылетает ошибка памяти.
2 вариант - добавить поле в существующую таблицу и делать UPDATE записи.
тоже не получилось, в заполненную таблицу новый столбец не добавляется, да и после DELETE всех записей тоже.
дальше копать не стал, т.к. подразумеваю, что и тут множественный UPDATE не сработает.

Буду рад помощи по любому варианту или если есть что-то лучше(правильнее).
Спасибо.
...
Рейтинг: 0 / 0
Множественное INSERT или что еще?
    #39574395
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sonmax1 вариант - создаю новый файл test_new.dbf и в него пишу нужные мне данные.
и при чем тут Firebird?
sonmaxно несколько INSERT не проходят, только по одному.
большинство СУБД поддерживают именно "по одному"
sonmaxА это очень долго (записей до 10тыс.) да и на тысячной записи уже вылетает ошибка памяти.
видимо, или используете какие-то не те компоненты для вставки, или читаете из буферизирующего query.
http://www.ibase.ru/impexp/

Модератор: Тема перенесена из форума "Firebird, InterBase".
...
Рейтинг: 0 / 0
Множественное INSERT или что еще?
    #39574500
sonmax,
у фоксу сей топик не имеет ни малейшего отношения ибо Microsoft.Jet.OLEDB.4.0 не есть фокс или его часть.
...
Рейтинг: 0 / 0
Множественное INSERT или что еще?
    #39574717
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильный проходящий.sonmax,
у фоксу сей топик не имеет ни малейшего отношения ибо Microsoft.Jet.OLEDB.4.0 не есть фокс или его часть.
Может мы ему посоветуем ему использовать Visual FoxPro OleDb provider?
...
Рейтинг: 0 / 0
Множественное INSERT или что еще?
    #39574720
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sonmax А это очень долго (записей до 10тыс.) да и на тысячной записи уже вылетает ошибка памяти.
А Вы высвобождаете все ресурсы после вставки одной записи? Советую использовать конструкцию "use" в C#.

10 тысяч записей очень мало
...
Рейтинг: 0 / 0
Множественное INSERT или что еще?
    #39575421
sonmax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Ch, Вы правы.
Нашел свой косяк.
У меня стандартная процедура для обращения к базе. которую я таскаю из проекта в проект.
для разовой операции она работает без проблем.
Но для цикличной записи она не подходила. Тут и была проблема,
Сейчас все нормально, остановился на первом варианте.

P.S.
по поводу FoxPro,
Ну мой извращенный мозг так подумал: т.к. база от FoxPro, то и помощь я планировал
получить именно по этому языку. интересен был именно мульти запрос.
Шарп, дело второе, его я для полноты картины указал.

Спасибо.
...
Рейтинг: 0 / 0
Множественное INSERT или что еще?
    #39575658
sonmaxт.к. база от FoxProНаличие расширения dbf не обязывает файл быть "базой от фокспро". А еще и при работе с этим файлом не посредством фокспро, а посредством какого-то совершенно к нему не относящимся продукта... Ибо в Microsoft.Jet.OLEDB.4.0 совершенно нет даже и намека на фокспро.
...
Рейтинг: 0 / 0
Множественное INSERT или что еще?
    #39575823
sonmax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
правильный проходящий.,
Вы меня не поняли, вопрос был не про подключение посредством чего либо,
а про синтаксис языка для базы FoxPro.
т.к. мои знания по работе с базами, а тем более с dbf, на уровне стандартных запросов.
то я надеялся, что просто не так формирую запрос.
Но проблема решена, теперь как есть.
...
Рейтинг: 0 / 0
Множественное INSERT или что еще?
    #39575843
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sonmaxправильный проходящий.,
Вы меня не поняли, вопрос был не про подключение посредством чего либо,
а про синтаксис языка для базы FoxPro.Это вы до сих пор не поняли что дбф - это не обязательно "база фокспро". Да это вообще не база, а таблица. И такие таблицы делают еще куча продуктов. И никакого кода в этих таблицах нет, вообще, совсем. В этих файлах данные, только данные и ничего кроме данных. И они никак, совершенно не определяют/не связаны с языком их обработки.
А синтаксис надо смотреть того языка/средаства, которым вы пытаетесь работать с этими таблицами. Если лезете к ним клиппером - то клипперный, если фоксом - то фоксовый, а если Microsoft.Jet.OLEDB.4.0 - то вот синтаксис вот этого самого Microsoft.Jet.OLEDB.4.0

По вашей логике все текстовые файлы есть файлы нотепада.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Множественное INSERT или что еще?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]