Главная страница
    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.01 c
1-1150981906
Михаил2
2006-06-22 17:11
2006.08.06
При запуске компилятора появляется только форма


2-1152701048
Levin_610
2006-07-12 14:44
2006.08.06
постановка хука на клавиатуру и мышь?


2-1153483846
logslava
2006-07-21 16:10
2006.08.06
Как отловить движение мыши


2-1153302482
IceBeerg
2006-07-19 13:48
2006.08.06
Передача данных из одной программы в другую через указатели


15-1151876608
Dimedrol
2006-07-03 01:43
2006.08.06
HTML: Посмотрите на ошибку - никак не осилю





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