|
|
|
Компонента IBDataSet
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Споткнулся о стандартную ситуацию, но по неопытности не удается ее перешагнуть. Не хватает какого-то нюанса. Суть вопроса в следующем: При работе с базой данных (InterBase, Builder C++) использую IBDataSet у которых имеются свойства SelectSQL и InsertSQL. Эти запросы используют параметры (:param), причем наборы параметров в этих SQL запросах различаются. С SelectSQL проблем не возникает - послушно работает, а вот когда пытаюсь присвоить значение для параметров из InsertSQL, вылазит сообщение, что такой параметр не известен. Что-то ещё нужно подкрутить? Где-то нужно указать, что скоро будет использоваться InsertSQL и сделать его "активным"? Верен ли следующий алгоритм вставки: 1.IBDataSet.InsertSQL = ".. :param .. " - записали запрос 2.IBDataSet.Prepare() - проверили правильность запроса 3.IBDataSet.ParamByName("param") = ... 4.IBDataSet.Open 5.IBDataSet.Insert. И еще. У IBDataSet есть поле GeneratorField, в котором заданный генератор привязывается к указанному полю по различным событиям, в том числе и по добавлению новых строчек. Эта связка нужна для того, чтобы не заморачиваться при вставке новых записей на задание параметра по указанию значения ключевого поля? Т.е. в InsertSQL не нужно указывать поле к которому привязан генератор? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2006, 20:56 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=352&tid=2031176]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 221ms |
| total: | 353ms |

| 0 / 0 |
