Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Добавление данных с помощью TIBDataSet.   Найти похожие ветки 

 
Tchainik_Delphi   (2004-10-20 17:56) [0]

Всем добрый день. Господа программисты, мне нужна ваша помощь. У меня есть база данных Interbase 6.x, в программе использую TIBDataBase, TIbTransaction и TIBDataset. И я хочу добавить данные в коде типа:

insert;
fieldbyname("field1").asstring := "string1";
fieldbyname("field2").asstring := "string2";
post;

В результате чего появляется Exception типа "Cannot modify a read-only dataset".
Я проверял, действительно, TIBDataset.Canmodify = false.
Скажите, пожалуйста, как сделать, что бы TIBDataset был открыт и на запись?
Спасибо.


 
Sergey13 ©   (2004-10-20 18:03) [1]

Заполнить свойства ModifySQL, InsertSQL, DeleteSQL. Правой кнопкой на компоненте.


 
Tchainik_Delphi   (2004-10-20 18:09) [2]

а чем их заполнять? типа:
Insert into table1 (field1,field2) values (string1,string2)?
Так?


 
Sergey13 ©   (2004-10-21 09:41) [3]

Правой кнопкой кликал?


 
msguns ©   (2004-10-21 09:50) [4]

При работе в клиент-серверной среде надо четко различать операции чтения и модификации данных. Для первых существуют TIBQuery, для вторых - IBSQL (упрощенно). Пачаны, которые изначально следуют этой "разделяющей" технологии, просто не получают подобных проблем. Однако для тех, кто привык "стоять на таблице" с ногами, разработчики сделали TIBDataSet и даже TIBTable, однако суть общения с интербэйзом (и не только) от этого не меняется. Модифицирующие запросы надо контролировать ручками (для TIBDataSet). А вообще рекомендую перейти на "классическую" модель, т.к. тот же TIBDataSet переодически все равно придется переоткрывать и перепозиционировать.


 
Johnmen ©   (2004-10-21 10:00) [5]

Рекомендую остаться на IBDataSet. А ещё лучще перейти на pFIBDataSet.


 
msguns ©   (2004-10-21 10:06) [6]

>Johnmen ©   (21.10.04 10:00) [5]
>Рекомендую остаться на IBDataSet. А ещё лучще перейти на pFIBDataSet.

Женя, этот класс для продвинутых, т.к. пользование им "без понятия" будет приводить к самым неожиданным проблемам. Уж тогда лучше тэйбл. FIBPlus вообще почти все делает за кодера. Соответственно избавляя его от необходимости что-то там читать и понимать


 
Жук ©   (2004-10-21 10:14) [7]


> Sergey13 ©   (21.10.04 09:41) [3]
> Правой кнопкой кликал?

Я за него кликнул :-) Но не понял, зачем ?


> Johnmen ©   (21.10.04 10:00) [5]
> Рекомендую остаться на IBDataSet. А ещё лучще перейти на
> pFIBDataSet.

Аргументы в студию, плз.


 
Johnmen ©   (2004-10-21 10:17) [8]

>msguns ©   (21.10.04 10:06) [6]

В некоторой степени ты прав...:)

>Жук ©   (21.10.04 10:14) [7]
>Аргументы в студию, плз.

Основной и самый важный - поддержка раздельных тр-ий для чтения и записи.


 
msguns ©   (2004-10-21 10:19) [9]

>Жук ©   (21.10.04 10:14) [7]

Дима, а я родился в день смерти ВВЛ. О чем также узнал в день его смерти :((
Сори за офтоп


 
msguns ©   (2004-10-21 10:23) [10]

>Johnmen ©   (21.10.04 10:17) [8]
>>msguns ©   (21.10.04 10:06) [6]
>В некоторой степени ты прав...:)

А в какой неправ ?

>Основной и самый важный - поддержка раздельных тр-ий для чтения и записи.

1.Ну это еще не есть обязательно..
2.А всегда ли это нужно ? (Пример - справочник)


 
Johnmen ©   (2004-10-21 10:36) [11]

>msguns ©   (21.10.04 10:23) [10]

Вот здесь не совсем прав:
>FIBPlus вообще почти все делает за кодера. Соответственно
>избавляя его от необходимости что-то там читать и понимать
т.к. большая функциональность этого вовсе не означает...

>1.Ну это еще не есть обязательно..

В смысле?

>2.А всегда ли это нужно ? (Пример - справочник)

Не понял. Ты имел в виду, что для справочников проще Table ? Тогда вполне возможно...


 
msguns ©   (2004-10-21 11:05) [12]

>Johnmen ©   (21.10.04 10:36) [11]
>Вот здесь не совсем прав:
>>FIBPlus вообще почти все делает за кодера. Соответственно
>>избавляя его от необходимости что-то там читать и понимать
>т.к. большая функциональность этого вовсе не означает...

Конечно, с тобой, Женя, я спорить не собираюсь. А мнение такое сложилось после прочтения (и не единожды) книги Вострикова и Ковязина "Мир Интербэйс". Хотя сам я этой библиотекой не пользуюсь (придерживаюсь принципа, что надо обходиться тем, что имею, т.к. на все случаи жизни библиотек не напасешься, а работать приходится с разными вещами: в случае с БД это и интербэйс, и аксесс, и парадокс, и кое-чего еще)

>>1.Ну это еще не есть обязательно..
>В смысле?

В смысле что я могу использовать и одну и ту же транзакцию как для чтения, так и для модификации.

>>2.А всегда ли это нужно ? (Пример - справочник)
>Не понял. Ты имел в виду, что для справочников проще Table ? Тогда вполне возможно...

Table`ом не пользуюсь по нескольким причинам, некоторые из которых:
- необходимость ввода доп.индексов для переупорядочения
- неудобство подключения информации из других таблиц (Механизм LookUp на дух не переношу)
- тягать на клиента всю таблицу (что крайне нехорошо в случае с древовидными справочниками, где надо считывать за раз содержимое нескольких узлов, но не всего "леса"
 - и т.д.


 
Sergey13 ©   (2004-10-21 11:27) [13]

2[12] msguns ©   (21.10.04 11:05)
ИМХО.
Чем богаче доступный инструменарий, тем (при правильном использовании) проще писать нормально работающие программы. А зацикленность на какой то конкретной технологии (а точнее наверное методологии) не есть однозначный гуд.
Повторюсь, все ИМХО.

ЗЫ: Знать как что работает, конечно желательно по любому.

2[7] Жук ©   (21.10.04 10:14)
>Я за него кликнул :-) Но не понял, зачем ?
Не понял на чем и зачем кликал? 8-)


 
Johnmen ©   (2004-10-21 11:43) [14]

>msguns ©   (21.10.04 11:05) [12]

Серега, я тоже не спорю. Просто высказываю имхо.

>В смысле что я могу использовать и одну и ту же транзакцию как
>для чтения, так и для модификации.

Можно, конечно. Но более строго и обоснованно - две.
Это тоже не спор, а имхо. Очень сильное притом...:)


 
msguns ©   (2004-10-21 11:47) [15]

>Johnmen ©   (21.10.04 11:43) [14]
>Серега, я тоже не спорю. Просто высказываю имхо.

Именно для этого "имхо" этого я и постился ;)))
С уважением.


 
msguns ©   (2004-10-21 11:48) [16]

>Johnmen ©   (21.10.04 11:43) [14]
>Серега, я тоже не спорю. Просто высказываю имхо.

Именно для этого "имхо" я и постился ;)))
С уважением.



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.037 c
1-1099601114
Garfunkel
2004-11-04 23:45
2004.11.21
Вставка текста с форматированием


1-1099408347
Agent[007]
2004-11-02 18:12
2004.11.21
Всем hi. Как задать property у класса и можно ли его задать у r


14-1099766439
SteelMan
2004-11-06 21:40
2004.11.21
дельфиворлд.ру хакнули


9-1090400471
1stGame
2004-07-21 13:01
2004.11.21
VCL или нет?


14-1099135392
Yuri Btr
2004-10-30 15:23
2004.11.21
Входящие подключения - проблема с модемом в XP