Главная страница
    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.039 c
14-1118309693
КаПиБаРа
2005-06-09 13:34
2005.07.11
Помогите решить практическую задачу


3-1117630917
Orel
2005-06-01 17:01
2005.07.11
таблицу (TTable) базы данных отправить в MS WORD


1-1118590976
iskatel
2005-06-12 19:42
2005.07.11
памяти в память


8-1110291092
Delta
2005-03-08 17:11
2005.07.11
увеличить без тормозов


1-1118769268
sofs
2005-06-14 21:14
2005.07.11
кривые колонки в РичЭдит при большом рбъёме инфы





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