Главная страница
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.48 MB
Время: 0.058 c
2-1133034740
юный падаван
2005-11-26 22:52
2005.12.11
ListView добавление столбцов


14-1132558756
ПЛОВ
2005-11-21 10:39
2005.12.11
Есть тут знатоки С


14-1132302421
_Vaitek
2005-11-18 11:27
2005.12.11
Сжатие данных "на лету"


14-1132238472
Jeer
2005-11-17 17:41
2005.12.11
Кризис "среднего" возраста


2-1132259609
FShadow
2005-11-17 23:33
2005.12.11
При выполнении SQL запроса выдает ошибку. Помогите!!!