while not dbgrdAdmissionProduct.DataSource.DataSet.Eof do
begin
varArticleUpdateId := dbgrdAdmissionProduct.Fields[1].AsString;
varFirstRecId := varFirstRecId + 1;
dmContanierIcon.quAdmissionProduct.Active := False;
dmContanierIcon.quAdmissionProduct.Close;
dmContanierIcon.quAdmissionProduct.SQL.Clear;
dmContanierIcon.quAdmissionProduct.SQL.Text := 'UPDATE dbt_AdmissionProduct SET p_id = '+IntToStr(varFirstRecId)+' WHERE p_product = "'+varArticleUpdateId+'"';
dmContanierIcon.quAdmissionProduct.ExecSQL;
dbgrdAdmissionProduct.DataSource.DataSet.Next;
end;
while not dbgrdAdmissionProduct.DataSource.DataSet.Eof do
begin
varArticleUpdateId := dbgrdAdmissionProduct.Fields[1].AsString;
varFirstRecId := varFirstRecId + 1;
dmContanierIcon.quAdmissionProduct.Active := False;
dmContanierIcon.quAdmissionProduct.Close;
dmContanierIcon.quAdmissionProduct.SQL.Clear;
dmContanierIcon.quAdmissionProduct.SQL.Text := 'UPDATE dbt_AdmissionProduct SET p_id = '+IntToStr(varFirstRecId)+' WHERE p_product = "'+varArticleUpdateId+'"';
dmContanierIcon.quAdmissionProduct.ExecSQL;
dbgrdAdmissionProduct.DataSource.DataSet.Next;
end;
А почему тогда, при выполнении долгих операций в цикле я ставлю Application.ProcessMessages , и сворачиваю окно программы, переключаюсь на другое окно и развернуть окно программы уже не получается ? так ведь тоже операция на разворачивание окна в очередь становится, почему не разворачивает при щелчке на панели задач?
Проблемка опять с этим флоатом, дробную часть после "," не считает он дробным, хочет чтоб вместо "," стояла "." Не знаешь как быть в такой ситуации?
Для более глубокого понимания объясню на своем примере.
Данные берутся из Excel и добавляются в базу *.dbf
если в ячейке например число "450,55" он его не заносит в базу выдает ошибку
а если "450.55" то заносит, и еще если в ячейке после запятой нули тоже заносит "450,00". Как с этим бороться?
Я не хочу лезть в реестр и на каждом компе менять запятую на точку системно.
Так dmContanierIcon.quProductAll.ParamByName('_varP_visible').AsString := '1';
не запишется,
а если так: 'INSERT INTO dbt_ProductAll('p_visible, p_date, p_article) VALUES('+IntToStr(varP_visible)+ ', "'+DateToStr(varP_date)+ '", '+IntToStr(varP_parent)+',"'+varP_article+')';
то все хорошо работает, я просто хотел код защитить от SQL инъекции.