Главная страница
    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.49 MB
Время: 0.044 c
14-1099423377
ArMellon
2004-11-02 22:22
2004.11.21
Привет всем пишу чат на PHP но тормознулся на


14-1099051141
Knight
2004-10-29 15:59
2004.11.21
Опишите ваши впечатления от первого общения с VMware...


14-1099753777
X9
2004-11-06 18:09
2004.11.21
Исходники TurboVision?


4-1097318593
TeNY
2004-10-09 14:43
2004.11.21
Нажатие Enter?


1-1099903691
Igit
2004-11-08 11:48
2004.11.21
Поиск строки в строке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский