|
Использование IBDataSet, C++ Builder, IBExpert + FireBird
|
|||
---|---|---|---|
#18+
Всем доброго времени суток. Пробую использовать компонент 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". Пожалуйста, помогите разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 12:01 |
|
Использование IBDataSet, C++ Builder, IBExpert + FireBird
|
|||
---|---|---|---|
#18+
Эти строки не нужны: IBDataSet1->InsertSQL; IBDataSet1->Open(); Эта строка пропущена: IBDataSet1->Insert; ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 12:10 |
|
Использование IBDataSet, C++ Builder, IBExpert + FireBird
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 12:11 |
|
Использование IBDataSet, C++ Builder, IBExpert + FireBird
|
|||
---|---|---|---|
#18+
Striderr Чувствую, что где-то может быть ошибка , плюс при попытке добавления появляется ошибка со словами "Not in Edit Mode".Выделеное повеселило. Чуешь какой точкой? Сомневаюсь, что VCL в С++ Builder отличается от Delphi, потому непонятно, что здесь делает IBDataSet1->InsertSQL? К тому же до вставки строк датасет должен быть открыт, т.е. вызван IBDataSet1->Open. И вообще такие вопросы лучше задавать в эту ветку . ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 12:11 |
|
Использование IBDataSet, C++ Builder, IBExpert + FireBird
|
|||
---|---|---|---|
#18+
> Автор: Striderr > Пробую сделать добавление. В обработчике нажатия кнопки "Добавить" пишу следующее: > IBDataSet1->InsertSQL; А что делает эта строка? А почему не IBDataSet1->Append(); А почему открываешь после того как присвоил новые параметры? > IBDataSet1->Open(); > IBDataSet1->Post(); А может сделать Post, если ты только перед ним открыл на чтение датасет? О чем он тебе и говорит Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 12:15 |
|
Использование IBDataSet, C++ Builder, IBExpert + FireBird
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
оффтоп, аминь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2009, 12:24 |
|
|
start [/forum/topic.php?fid=42&gotonew=1&tid=1599906]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 279ms |
0 / 0 |