Главная страница
    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.013 c
2-1153395744
MOUSE911
2006-07-20 15:42
2006.08.06
Таблицы БД


2-1151795588
SUN_ALF
2006-07-02 03:13
2006.08.06
Перехват и остановка только что запущенного процесса


2-1153067292
kaif
2006-07-16 20:28
2006.08.06
Хочу покаяться за то, что наговорил про генераторы в триггерах


15-1151396003
Nous Mellon_
2006-06-27 12:13
2006.08.06
О летнем отдыхе


1-1151057441
Handle
2006-06-23 14:10
2006.08.06
Как вставить текст в Internet Explorer в строку ввода адреса?





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