powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Использование IBDataSet, C++ Builder, IBExpert + FireBird
6 сообщений из 6, страница 1 из 1
Использование IBDataSet, C++ Builder, IBExpert + FireBird
    #36327978
Striderr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.

Пробую использовать компонент IBDataSet для взаимодействия с таблицами БД.
Так как работаю с ним первый раз, то ошибки пока не знакомы.

Существует к примеру таблица TOVAR.
Для отображения ее в DBGrid ипользовал стандартную связку: IBDataBase+IBTransaction+IBDataSet+DAtaSource+DBGrid

В EditSQL у IBDataSet прописал select * from TOVAR. Потом сгенерировал запрос на добавление:

код SQL:

insert into TOVAR
(NAME_TOV, TIP_TOV, PRICE_TOV_ZAK, COUNT_TOV, PROIZV_TOV)
values
(:NAME_TOV, :TIP_TOV, :PRICE_TOV_ZAK, :COUNT_TOV, :PROIZV_TOV)

Пробую сделать добавление. В обработчике нажатия кнопки "Добавить" пишу следующее:

IBDataSet1->InsertSQL;
IBDataSet1->FieldByName("NAME_TOV")->AsString = Edit5->Text;
IBDataSet1->FieldByName("TIP_TOV")->AsString = Edit6->Text;
IBDataSet1->FieldByName("PRICE_TOV")->AsString = Edit7->Text;
IBDataSet1->FieldByName("COUNT_TOV")->AsString = Edit8->Text;
IBDataSet1->FieldByName("PROIZV_TOV")->AsString = Edit9->Text;
IBDataSet1->Open();
IBDataSet1->Post();

Чувствую, что где-то может быть ошибка, плюс при попытке добавления появляется ошибка со словами "Not in Edit Mode".

Пожалуйста, помогите разобраться.
...
Рейтинг: 0 / 0
Использование IBDataSet, C++ Builder, IBExpert + FireBird
    #36328007
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эти строки не нужны:
IBDataSet1->InsertSQL;
IBDataSet1->Open();

Эта строка пропущена:
IBDataSet1->Insert;
...
Рейтинг: 0 / 0
Использование IBDataSet, C++ Builder, IBExpert + FireBird
    #36328013
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Striderr!
You wrote on Tue, 24 Nov 09 09:01:43 GMT:

Striderr S> IBDataSet1->InsertSQL;
S> IBDataSet1->Open();
S> IBDataSet1->Post();мощная комбинация...
с VCL-ными датасетами раньше вообще не работал?
почитай азы на этут тему.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Использование IBDataSet, C++ Builder, IBExpert + FireBird
    #36328014
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Striderr Чувствую, что где-то может быть ошибка , плюс при попытке добавления появляется ошибка со словами "Not in Edit Mode".Выделеное повеселило. Чуешь какой точкой? Сомневаюсь, что VCL в С++ Builder отличается от Delphi, потому непонятно, что здесь делает IBDataSet1->InsertSQL? К тому же до вставки строк датасет должен быть открыт, т.е. вызван IBDataSet1->Open. И вообще такие вопросы лучше задавать в эту ветку .
...
Рейтинг: 0 / 0
Использование IBDataSet, C++ Builder, IBExpert + FireBird
    #36328024
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Striderr
> Пробую сделать добавление. В обработчике нажатия кнопки "Добавить" пишу следующее:
> IBDataSet1->InsertSQL;

А что делает эта строка?
А почему не IBDataSet1->Append();

А почему открываешь после того как присвоил новые параметры?
> IBDataSet1->Open();
> IBDataSet1->Post();

А может сделать Post, если ты только перед ним открыл на чтение датасет? О чем он тебе и говорит

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Использование IBDataSet, C++ Builder, IBExpert + FireBird
    #36328056
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
IBDataSet1->Open();
IBDataSet1->Insert();
IBDataSet1->FieldByName("NAME_TOV")->AsString = Edit5->Text;
IBDataSet1->FieldByName("TIP_TOV")->AsString = Edit6->Text;
IBDataSet1->FieldByName("PRICE_TOV")->AsString = Edit7->Text;
IBDataSet1->FieldByName("COUNT_TOV")->AsString = Edit8->Text;
IBDataSet1->FieldByName("PROIZV_TOV")->AsString = Edit9->Text;
IBDataSet1->Post();

оффтоп, аминь.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Использование IBDataSet, C++ Builder, IBExpert + FireBird
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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