Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Вниз

HELP!!! DataSet при Insert ругается, что база read-only.   Найти похожие ветки 

 
Muzzy   (2006-06-01 08:17) [0]

Ругается на строке с
FieldByName("npp").AsInteger:=StrToInt(edNpp.Text);

говорит следующее:
Cannnot modify  a read-only  dataset.

Что это такое? Я все проверил на 1024 раза. Может что в real-time нужно делать? И в IB настройки смотрел.

Делаю все по книжке вот так:

       with IBDataSetJOTKL do
       begin
         IBDataSetJOTKL.Active:=True;
         try
         Insert;
         FieldByName("npp").AsInteger:=StrToInt(edNpp.Text);
         FieldByName("fidname").AsString:=edFidname.Text;
         FieldByName("dateotkl").AsDateTime:=edDateotkl.Date;
         FieldByName("timeotkl").AsDateTime:=edTimeotkl.Time;
         FieldByName("datevkl").AsDateTime:=edDatevkl.Date;
         FieldByName("timevkl").AsDateTime:=edTimevkl.Time;
         FieldByName("lengthotkl").AsDateTime:=edLengthotkl.Time;
         FieldByName("priotkl").AsString:=edPriotkl.Text;
         FieldByName("npo").AsString:=edNpo.Text;
         FieldByName("katpotr").AsString:=edKatpotr.Text;
         FieldByName("klassif").AsInteger:=StrToInt(edKlassif.Text);
         FieldByName("nedootp").AsInteger:=StrToInt(edNedootp.Text);
         FieldByName("datepered").AsDateTime:=edDatepered.Date;
         FieldByName("timepered").AsDateTime:=edTimepered.Time;
         FieldByName("peredkomu").AsString:=edPeredkomu.Text;
         FieldByName("commentmemo").AsString:=edCommentmemo.Text;
         Post;
         finally
         IBDataSetJOTKL.Active:=False;
         end;
       end;

В чем проблема?


 
ANB ©   (2006-06-01 08:28) [1]

Заполни свойство InsertSQL


 
dolmat   (2006-06-01 09:03) [2]


> Ругается на строке с
> FieldByName("npp").AsInteger:=StrToInt(edNpp.Text);

Возможно для этого лучше генератор привязать


 
Sergey13 ©   (2006-06-01 09:05) [3]

>Делаю все по книжке вот так:
Выкинь такую книжку или почитай внимательнее. ИМХО.
Зачем открывать датасет только для того что бы вставить одну запись!


 
Muzzy   (2006-06-01 11:39) [4]

>> Заполни свойство InsertSQL
А что там написать-то?
INSERT и иже с ним? А зачем тогда FieldByName ?


 
Sergey13 ©   (2006-06-01 11:41) [5]

2 [4] Muzzy   (01.06.06 11:39)
>А что там написать-то?
Похоже, прежде чем написать что то, тебе придется еще многое прочитать. ИМХО.


 
Muzzy   (2006-06-01 12:03) [6]

> Похоже, прежде чем написать что то, тебе придется еще многое прочитать. ИМХО.
Да читал я. Тогда уж проще через IBSQL. Но хотелось-то попроще, через DataSet. Ну подскажите че написать-то поля-то в коде есть. И вопрос-то в другом. Почему недает вставить запись? Ладно если другая ошибка, дело-то в этом.


 
Muzzy   (2006-06-01 12:07) [7]

Ну подскажите идиоту где еще порыть. Прогу срочно делать надо. Простая ведь. Того и надо, что записи вствлять.
Вот и база:

CREATE TABLE "JOTKL"
(
 "npp" INTEGER,
 "fidname" VARCHAR(64),
 "dateotkl" DATE,
 "timeotkl" TIME,
 "datevkl" DATE,
 "timevkl" TIME,
 "lengthotkl" TIME,
 "priotkl" VARCHAR(254),
 "npo" VARCHAR(254),
 "katpotr" VARCHAR(12),
 "klassif" SMALLINT,
 "nedootp" SMALLINT,
 "datepered" DATE,
 "timepered" TIME,
 "peredkomu" VARCHAR(64),
 "commentmemo" VARCHAR(254)
);


 
Сергей М. ©   (2006-06-01 12:11) [8]

Замени IBDataset на IBTable и не мучайся.


 
Muzzy   (2006-06-01 12:11) [9]

Было в FAQ, но что это и куда пихать???

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988623447&n=14


 
Sergey13 ©   (2006-06-01 12:12) [10]

2[6] Muzzy   (01.06.06 12:03)
> Да читал я.
Да ладно заливать то. 8-)

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


 
Muzzy   (2006-06-01 12:15) [11]


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

Блин! А про это в книжке не сказано!


 
Muzzy   (2006-06-01 13:38) [12]


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

Ну сгенерил, вот что получилось:

insert into JOTKL
 (npp, fidname, dateotkl, timeotkl, datevkl, timevkl, lengthotkl, priotkl,
  npo, katpotr, klassif, nedootp, datepered, timepered, peredkomu, commentmemo)
values
 (:npp, :fidname, :dateotkl, :timeotkl, :datevkl, :timevkl, :lengthotkl,
  :priotkl, :npo, :katpotr, :klassif, :nedootp, :datepered, :timepered,
  :peredkomu, :commentmemo)

Выдает:
Column unknow NPP"
SQL error code = -206.

И что дальше?


 
Desdechado ©   (2006-06-01 13:41) [13]

судя по скрипту таблицы - БД в 3-м диалекте
а в нем важен регистр символов для имен, если они стоят в кавычках
поэтому нет поля NPP, но есть "npp"
подправь INSERT кавычками для полей


 
dolmat   (2006-06-02 09:30) [14]

Возможно свойство Fieds не заполнено
Щелкнуть по IBDataset правой кнопкой мышки, выбрать Fiels editor, потом тойже кнопкой мышки Add All ..



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

Форум: "Базы";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.012 c
6-1142581438
diMAN
2006-03-17 10:43
2006.08.06
Открытие сокета в системе


2-1153144674
crazy_corpse
2006-07-17 17:57
2006.08.06
ЧЕ такое Handel и зачем это нужно


2-1153077301
dj0n
2006-07-16 23:15
2006.08.06
Как открыть доступ на таблицу InterBase!


2-1153410059
Батыр
2006-07-20 19:40
2006.08.06
Реестр


3-1149195967
Glivera
2006-06-02 01:06
2006.08.06
Количество записей выданных после запроса.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский