Помощь - Поиск - Пользователи - Календарь
Полная версия: STOREDPROC + DBF
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
alecsandr
Всем доброго дня! Есть программа, которая получает параметр процедуры из DBF файла, после чего процедура подключаясь к серверу выводит нужную информацию, но вот в чем проблема, ПРОЦЕДУРА ВЫДАЕТ ВСЕГДА ТОЛЬКО 1 ПОЛЕ
procedure TMainForm.Button2Click(Sender: TObject);
var
str1,head,datet,dateg,filename,datey,datem,dated: string;
myDate : TDateTime;
t: TStringList;
begin
if (Edit1.Text = '') then
begin
ShowMessage('Не введен номер сообщения!');
Edit1.SetFocus;
end
else
if (dbf1.TableName = '') then
begin
ShowMessage('Не выбрана база данных!');
end
else
begin
mydate:=now;
str1 := '/';
t := TStringList.Create;
FileName := Format('%8.8d.260', [StrToInt(Edit1.Text)]);
t.LoadFromFile(ExtractFilePath(paramstr(0))+ FileName);
if (t.Count <> 0) then
begin
q := t.Count-1;
DeleteLineFromFile(ExtractFilePath(paramstr(0))+ FileName,0);
end
else
q := 0;
assignfile(f,ExtractFilePath(paramstr(0)) + FileName);
rewrite(f);
begin
dbf1.First;
DateTimeToString(datet, 'yyyymmddhhmmss', myDate);
while not (dbf1.Eof and GrafikDSet.Eof) do
begin
inc(q);
dateg := dbf1.FieldByName('DBEG').asString;
datey := Copy(dateg,7,4);
datem := Copy(dateg,4,2);
dated := Copy(dateg,1,2);
dateg := datey+datem+dated;
str := dbf1.FieldByName('K_ANA3').AsString;
num := StrToInt(copy(str,1,pos(str1,str)-1));{<---Сюда заноситься номер без слеша}
GrafikDSet.Parameters.ParamByName('@InvoiceNumber').Value := num;

if (dbf1.FieldByName('N_SUMT').AsInteger <> 0) then
begin
//Memo1.Lines.Add(GrafikDSetTotalSum.AsString);
StaffDSet.Parameters.ParamByName('@ID').Value := GrafikDSetStaffID.AsFloat;
AdressDSet.Parameters.ParamByName('@ID').Value := StaffDSetID.AsFloat;
str := '^1^^' + str + '^' + dateg + '^'+StaffDSetSurName.asString + '^'+AdressDSetCity.AsString + '^'+AdressDSetAddress.AsString + '^'+AdressDSetCountryName.AsString;
writeln(f,q,str);
//Memo1.Lines.Add(str);
end;
dbf1.Next;
GrafikDSet.Next;
end;
closefile(f);
t.LoadFromFile(ExtractFilePath(paramstr(0))+ FileName);
head := ver +'^'+kod_otp+'^'+IntToStr(num_mes)+'^'+datet+'^'+IntToStr(t.Count)+'^'+acc_num+'^^'+cur_code+'^';
t.Insert(0,head);
t.SaveToFile(ExtractFilePath(paramstr(0)) + FileName);
t.Free;
end;
end;
end;
alecsandr
Так кто нить поможет??
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.