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

Вниз

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

 
Дева ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.05 c
2-1133194800
newlogin
2005-11-28 19:20
2005.12.11
куда мне с компилятором


2-1132475651
Goga
2005-11-20 11:34
2005.12.11
BASM


6-1125563249
olegl
2005-09-01 12:27
2005.12.11
Пересылка UTF-8 запроса с использованием TidHTTP


14-1132664084
Murkt
2005-11-22 15:54
2005.12.11
Нормализация матрицы по числу


14-1132263399
ronyn
2005-11-18 00:36
2005.12.11
Инициализация модема (Linux)





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