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

Вниз

Неполучается сделать update записи.   Найти похожие ветки 

 
Леонид   (2005-06-02 13:16) [0]

Это код UpdateSQL, ModifySQL

update pribor
set
 RN = :RN,
 NomerPP = :NomerPP,
 Naimen = :Naimen,
 Tip = :Tip,
 Predel = :Predel,
 NomerZ = :NomerZ,
 DataPov = :DataPov,
 DataNext = :DataNext,
 Inventar = :Inventar,
 Ceh = :Ceh,
 Mesto = :Mesto,
 Prim = :Prim
where
 RN = :OLD_RN


Это код для изм. записи.

procedure TPribor_Form.Button1Click(Sender: TObject);
var
  i, nNomerPP, oldRN : integer;
  nNaimen : String;
begin
 oldRN:=DM.PriborSQL.FieldByName("RN").Value;
//Изменяю запись с пом UpdateSQL
 DM.PriborSQL.Edit;
//Присваиваю полям (параметрам) в запросе значения
 DM.PriborSQL.FieldByName("RN").Value:=oldRN;
   if Edit1.Text = "" then
      DM.PriborSQL.FieldByName("NomerPP").Clear
   else
   DM.PriborSQL.FieldByName("NomerPP").Value:=StrToInt(Edit1.text);
   DM.PriborSQL.FieldByName("Naimen").Value:=ComboBox1.Text;
   DM.PriborSQL.FieldByName("Tip").Value:=Edit2.text;
   DM.PriborSQL.FieldByName("Predel").Value:=Edit3.text;
   DM.PriborSQL.FieldByName("NomerZ").Value:=Edit4.text;
     if MaskEdit1.Text = "1.  .  " then
        DM.PriborSQL.FieldByName("DataPov").Clear
   else
   DM.PriborSQL.FieldByName("DataPov").Value:=StrToDate(MaskEdit1.text);
     if MaskEdit2.Text = "1.  .  " then
     DM.PriborSQL.FieldByName("DataNext").Clear
   else
   DM.PriborSQL.FieldByName("DataNext").Value:=StrToDate(MaskEdit2.text);
   DM.PriborSQL.FieldByName("Inventar").Value:=Edit5.text;
   DM.PriborSQL.FieldByName("Ceh").Value:=ComboBox2.text;
   DM.PriborSQL.FieldByName("Mesto").Value:=Edit6.text;
   DM.PriborSQL.FieldByName("Prim").Value:=Edit7.text;
//Завершение редактирование записи
   DM.PriborSQL.Post;
//Делаю из кэша запись в таблицу
   if DM.PriborSQL.UpdatesPending
     then DM.PriborSQL.ApplyUpdates;
   nNomerPP:=DM.PriborSQLNomerPP.Value;
   nNaimen:=DM.PriborSQLNaimen.Value;
//Переоткрываю базу, чтобы была нормальная выборка с сортировкой
   DM.PriborSQL.Active:=false;
   DM.PriborSQL.Active:=true;
   SaveButton.Enabled:=false;
   Pribor_Form.ActiveControl:=GroupBox1;
//Очищаю все поля ввода от старых значений.
   for i:=0 to ComponentCount-1 do
   if Components[i] is TEdit then
  (Components[i] as TEdit).Text:="";
   for i:=0 to ComponentCount-1 do
   if Components[i] is TMaskEdit then
  (Components[i] as TMaskEdit).Text:="";
   for i:=0 to ComponentCount-1 do
   if Components[i] is TCombobox then
  (Components[i] as TCombobox).Text:="";
   DM.PriborSQL.Locate("NomerPP", nNomerPP, [loPartialKey]);
   DM.PriborSQL.Locate("Naimen", nNaimen, [loPartialKey]);
   Pribor_Status.Panels[0].Text:= "Всего записей " + IntToStr(DM.PriborSQL.RecordCount);
   Pribor_Status.Panels[1].Text:="Была изменена запись";
end;

Поле RN - автоинкриментное и ключевое.
Не пойму, что здесь не так.


 
Sergey13 ©   (2005-06-02 13:20) [1]

oldRN:=DM.PriborSQL.FieldByName("RN").Value;
//Присваиваю полям (параметрам) в запросе значения
DM.PriborSQL.FieldByName("RN").Value:=oldRN;

Вот это зачем?
Если
>Поле RN - автоинкриментное и ключевое.
то и не трогай его никогда.

И
RN = :RN,
из запроса выкинь, чтоб не мешалось.


 
Леонид   (2005-06-02 13:26) [2]

Спасибо. Все работает.



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

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

Наверх




Память: 0.45 MB
Время: 0.038 c
1-1119439444
Dysan
2005-06-22 15:24
2005.07.11
параметр packed и его использование


14-1118599120
cyborg
2005-06-12 21:58
2005.07.11
Удалённый доступ к файлам в виндовс ХР


3-1117083340
Dmitry_VP
2005-05-26 08:55
2005.07.11
Firebird


3-1116857149
Николай
2005-05-23 18:05
2005.07.11
Два DblookupCombobox - последвательно.


3-1117618656
Koala
2005-06-01 13:37
2005.07.11
Помогите создать запрос (Firebird 1.5)





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