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

Вниз

Помогите найти ошибку   Найти похожие ветки 

 
Дева ©   (2005-11-23 05:20) [0]

Написала код, по логике веще должно все работать правильно, однако запрос ADOQuerySale ничего не пишет в таблицу. Утро уже видать раннее, спать пора топать - вот башка совершенно не соображает. Вот код, может кто сообразит, в чем загвоздка:

//приход
procedure TFormSB.Bring(bBarCode: String);
var
iSale: Integer;
begin
iSale:=0;
//работа с каталогом
ADOQueryPrice.Close;
ADOQueryPrice.Prepared;
ADOQueryPrice.Parameters.ParamByName("pBarCode").Value:=bBarCode;
ADOQueryPrice.Open;
if ADOQueryPrice.IsEmpty = true then
           begin
           ShowMessage("в каталоге не присутсвует!");
           //внести в каталог
           with DlgPriceForm do
             begin
             Caption:="Добавить запись о товаре";
             Edit2.Text:="";
             Edit3.Text:="";
             Edit4.Text:="";
             Edit1.Text:=bBarCode;
             end;
           if DlgPriceForm.ShowModal = mrOk then
               begin
               ADOQueryPrice.Close;
               ADOQueryPrice.SQL.Clear;
               ADOQueryPrice.SQL.Add("SELECT * FROM Price");
               ADOQueryPrice.Open;
               ADOQueryPrice.Insert;
               ADOQueryPrice.Fields.Fields[0].AsString:=DlgPrice.DPEd1;
               ADOQueryPrice.Fields.Fields[1].AsString:=DlgPrice.DPEd2;
               ADOQueryPrice.Fields.Fields[2].AsVariant:=StrToFloat(DlgPrice.DPEd3);
               ADOQueryPrice.Fields.Fields[3].AsString:=DlgPrice.DPEd4;
               try
               ADOQueryPrice.Post;
               except
               ShowMessage("Ошибка! Одинаковые штрих-коды");
               ADOQueryPrice.Delete;
               end;
               ADOQueryPrice.Close;
               ADOQueryPrice.SQL.Add("WHERE BarCode = :pBarCode");
               end;
           end;
//запрос Sale - проверка присутсвия в продаже товара
ADOQuerySale.Open;
ADOQuerySale.Locate("BarCode", bBarCode,[loCaseInsensitive]);
if ADOQuerySale.Fields.Fields[0].AsString <> bBarCode then
   begin
//  внести в Sale
   ADOQuerySale.Last;
   iSale:=ADOQuerySale.Fields.Fields[2].AsInteger+1;
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//Вот именно тут загвоздка. Информация в таблицу не попадает.
   ADOQuerySale.Insert;
   ADOQuerySale.Fields.Fields[2].AsInteger:=iSale;
   ADOQuerySale.Fields.Fields[1].AsInteger:=0;
       ShowMessage(IntToStr(iSale));//вставила чисто для проверки,
//движется ли здесь процесс, сообщение выдается - значет движется,
//но почему тогда не пишется в таблицу?
   ADOQuerySale.Fields.Fields[0].AsString:=bBarCode;
   ADOQuerySale.Post;
   end;
//пишу в Sale количество - больше на один
ADOQuerySale.Edit;
ADOQuerySale.Fields.Fields[1].AsVariant:=ADOQuerySale.Fields.Fields[1].AsInteger+1;
ADOQuerySale.Post;
ADOQuerySale.Close;
//пишу в таблицу прихода
ADOQueryBring.Open;
ADOQueryBring.Insert;
ADOQueryBring.Fields.Fields[1].AsVariant:=Date;
ADOQueryBring.Fields.Fields[2].AsString:=bBarCode;
ADOQueryBring.Post;
end;

P. S. прошу не судить строго, может я и вправда какую-то мелочь не заметила, но просто уже утро, а я спать не ложилась


 
Separator ©   (2005-11-23 05:57) [1]

>            if DlgPriceForm.ShowModal = mrOk then
>               begin
   ADOQuery1.Close;
   ADOQuery1.SQL.Text:= "INSERT INTO Price (Field1, Field1, Field1, Field1) VALUES (" + DlgPrice.DPEd1 + ", " + DlgPrice.DPEd2 + ", " + StrToFloat(DlgPrice.DPEd3) + ", " + DlgPrice.DPEd4 ")";
   ADOQuery1.ExecSQL;

Вот Ё, проще и понятней использовать SQL


 
Дева ©   (2005-11-23 15:05) [2]

Нашла, почему не работает... В свойствах ADOQuerySale было
LockType = ltBatchOptimistik...
Что это вообще такое?


 
clickmaker ©   (2005-11-23 15:08) [3]

http://www.interface.ru/fset.asp?Url=/borland/ado3.htm



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

Форум: "Начинающим";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.05 c
2-1133021941
Mach3
2005-11-26 19:19
2005.12.11
Mic&amp;Delphi


14-1132550780
Дмитрий_05
2005-11-21 08:26
2005.12.11
Ругается на NativeAPI


14-1132394609
Adil
2005-11-19 13:03
2005.12.11
BC++ 5


4-1128951430
Gluk
2005-10-10 17:37
2005.12.11
Перехват окна сохранения


14-1132427628
YurikGL
2005-11-19 22:13
2005.12.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
Английский Французский Немецкий Итальянский Португальский Русский Испанский