Страница 1 из 1
Пример написания процедур FB 1.5
Добавлено: 26 мар 2008, 11:13
SashaU
Добрый день, помогите начнающему.
Необходимо перенести данные из dbf файлов в таблицы FB. Подскажите как написать процедуру которая при считывания данных из dbf создовала новую или обновляла старую запись.
Добавлено: 26 мар 2008, 11:29
Tonal
На каком языке?
Вот код на python-е:
Код: Выделить всё
from __future__ import with_statement
from contextlib import closing
import kinterbasdb
import ydbf
with closing(kinterbasdb.connect(
host=host, database=database,
user='sysdba', password='masterkey',
dialect=3, charset='WIN1251'
)) as conn:
try:
for row in YDbfReader(file('file.dbf', 'rb')):
conn.execute(
'UPDATE OR INSERT INTO table1 (....) VALUES (?, ?...) '
'MATCHING (...)',
row)
except:
conn.rollback()
raise
else:
conn.commit()
В коде предполагается что состав и порядок колонок перечисленных в запросе и в dbf-файле совпадают.
Добавлено: 26 мар 2008, 11:33
SashaU
Пишу на делфях. А можно поподробнее с описанием каждой строчки. Заранее спасибо
Добавлено: 26 мар 2008, 11:36
SashaU
Например есть dbf (Sifr, Name) в FB Table(Sifr, Name). После выполнения запроса к dbf идет перебор записей запроса и анализируется есть эта запись в FB или нет, после чего она добовляется или обновляется
Добавлено: 26 мар 2008, 11:37
SashaU
Как написать встроенную процедуру в FB?
Добавлено: 26 мар 2008, 11:49
WildSery
А книжку почитать? Или ты хочешь, чтобы мы сюда сканы выкладывали?
ЗЫ: По вопросу вставки/обновления есть ещё
статья. Там же кстати и пример хранимых процедур.
Добавлено: 26 мар 2008, 11:59
SashaU
Книг нету, материала очень мало. собираю по крупицам. с книгами сложно в магазинах
Добавлено: 26 мар 2008, 12:08
SashaU
Как вызвать выполнение процедуры из делфей?
Добавлено: 26 мар 2008, 12:14
Ivan_Pisarevsky
SashaU писал(а):Книг нету, материала очень мало. собираю по крупицам. с книгами сложно в магазинах
Забанан на озоне и буксе и у всех прочих интернеткниготорговцев? И почта не работает? Сочувствую...
Ну как дети малые, нибараешь в бравзере (это та программа при помощи которой ты на этот сайт пришел) в строку адреса, например,
www.books.ru заказываешь там книженцию, потом получаешь оную в ближайшем почтовом отделении. Читаешь до просветления, потом с конкретными вопросами приходишь сюда. В моем городишке тоже решительно нет магазинов торгующих спец литературой, все покупаем через интернет, ничО, никто не помер.

Добавлено: 26 мар 2008, 12:16
SashaU
Если есть литература скиньте на почту )))
Добавлено: 26 мар 2008, 12:33
Ivan_Pisarevsky
SashaU писал(а):Если есть литература скиньте на почту )))
Чего скидывать-то? ссылка на книгу по ФБ прямо на заглавной странице сайта
www.ibase.ru вот ее и купи и еще толстую книженцию по дельфи, не слежу что нынче в моде, у меня по дельфям последняя книженция про дельфи7, толстая,такая, если по башке шарахнуть мало не покажется. Вобщем купи толстый букварь по дельфи, чтоб там про БД немного было.

Добавлено: 26 мар 2008, 15:16
kdv
Как вызвать выполнение процедуры из делфей?
Саша, ты либо провокатор, либо тебе действительно надо начать с чтения простых книжек по Delphi.
Потому что
1. Firebird не работает с DBF. Поэтому написать хранимую процедуру, которая бы перегоняла данные из DBF в FB, невозможно (теоретически решение есть, но не для начинающих)
2. раз пишешь на Delphi, то и спрашивай в форумах по Delphi. При использовании BDE, например, писать вообще ничего не придется.
Так что, за книжками, в магазин. или в интернет.
Если есть литература скиньте на почту
здесь не принято
а) помогать лентяям
б) учить пользоваться интернетом
в) пропагандировать халяву