tazarvmmr
شنبه 03 مهر 1395, 03:22 صبح
سلام به همگی
در 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 فقط برای این هست که بفهمم کجاها داره اشتباه میشه!
ممنون
در 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 فقط برای این هست که بفهمم کجاها داره اشتباه میشه!
ممنون