سلام به همگی
در RadStudio 10.1 روی پلت فرم ویندوز همه چیز درست کار میکنه ولی وقتی روی اندروید و iOS تست میکنم StoredProcedure خالی برمیگرده!
قراره با اجرای StoredProcedure بفهمیم که چه فایلهایی برای دانلود وجود داره بعد برنامه شروع کنه و فایلها رو دانلود کنه، از Fire Monkey استفاده شده و روی پلت فرم ویندوز درست کار میکنه همه چیز ولی روی اندروید و iOS همیشه هیچ چیزی پیدا نمیشه!
اصلا نمیتونم بفهمم مشکل کجاست!
از کامپوننتهای UniDac استفاده کردم و بانک اطلاعاتی هم MSSQL هست، در کد پایین مشخصه که چکار کردم!
کسی میتونه کمک کنه؟
procedure TForm1.Button2Click(Sender: TObject);
var
CurrentId,
Result: integer;
FullFileName,
FileName: string;
begin
if UniConnection1.Connected then
UniConnection1.Close;
UniConnection1.Connect;
if UniConnection1.Connected then
begin
with Memo1.Lines do
begin
Add('');
Add('Connect To Database');
Add('Server Name: ' + UniConnection1.Server);
end;
Result := GetDownloads(Edit1.Text);
Memo1.Lines.Add('Found ' + IntToStr(Result) + ' File(s) to download.');
if Result > 0 then
begin
Memo1.Lines.Add('Getting Information...');
FullFileName := sp_GetDownloads.FieldValues['Path'] + '/' + sp_GetDownloads.FieldValues['FileName'];
FileName:= sp_GetDownloads.FieldValues['FileName'];
CurrentId := sp_GetDownloads.FieldValues['Id'];
Memo1.Lines.Add('Path: ' + FullFileName);
Memo1.Lines.Add('FileName: ' + FullFileName);
Memo1.Lines.Add('Trying to download the file...');
StartDownload(CurrentId, Edit1.Text, FileName, FullFileName);
Memo1.Lines.Add('Download Completed.');
end;
end
else
ShowMessage('Cannot Connect To Server!');
end;
در خط 19 دارم StoreProcedure رو فراخوانی میکنم:
function TForm1.GetDownloads(DeviceCode: string): integer;
begin
with sp_GetDownloads do
begin
PrepareSQL;
ParamByName('@DeviceCode').Value := DeviceCode;
Memo1.Lines.Add(' Device Code: ' + DeviceCode);
Execute;
Result := ParamByName('@RETURN_VALUE').Value;
Memo1.Lines.Add(' Return Value: ' + IntToStr(Result));
end;
end;
این هم خود Stored Procedure
ALTER PROCEDURE GetUnDownloadedVideos
@DeviceCode nvarchar(50)
AS
BEGIN
Select *
From Devices
Where Downloaded = 0 and Code = @DeviceCode
Return @@rowcount
END
در اندروید و iOS همیشه متغیز Result برابر صفر هست ولی در ویندوز عدد درست رو برمیگردونه!!!
Memo1 فقط برای این هست که بفهمم کجاها داره اشتباه میشه!
ممنون