PDA

View Full Version : سوال: از طریق کد نویسی چطور میشه فهمید که بانک اکسس مورد نظر ما توسط کاربر دیگری باز هست یا خیر



mojiparadox
جمعه 14 بهمن 1390, 14:55 عصر
سلام دوستان

میخواستم ببینم آیا امکان این وجود داره که ببینیم بانک اطلاعاتی مورد استفاده نرم‌افزار ما توسط کاربر دیگری مورد استفاده قرار گرفته یا خیر؟

نیاز فوری دارم! لطفاً کمک کنید!!

mojiparadox
شنبه 15 بهمن 1390, 15:57 عصر
ندای هل من ناصر ما رو کسی جواب نمیده؟؟

Mask
شنبه 15 بهمن 1390, 19:06 عصر
میخواستم ببینم آیا امکان این وجود داره که ببینیم بانک اطلاعاتی مورد استفاده نرم‌افزار ما توسط کاربر دیگری مورد استفاده قرار گرفته یا خیر؟
منظورتون در حال حاضره یا اینکه قبلا استفاده شده.؟

mojiparadox
شنبه 15 بهمن 1390, 19:07 عصر
منظورتون در حال حاضره یا اینکه قبلا استفاده شده.؟ دقیقاً میخوام ببینم در حال حاضر اون دیتابیس باز هست یا خیر؟ یعنی این‌که دیتابیس با اکسس یا نرم‌افزار خودم (توسط کاربر دیگه) باز هست یا نه...

Mask
شنبه 15 بهمن 1390, 20:43 عصر
یکی از راهکارها اینه که فایل ldb ساخته شده رو بررسی کنید.میتونید اگه وجود نداشت یعنی بانک بستست. اگه بود و پاکش کردید و پاک نشد یعنی در حال اجراست و اگه پاک شد یعنی بانک بستست.
البته حذف این فایل یه پیشنهاده . میتونید خصوصیاتش رو تغییر بدید و چک کنید.

mojiparadox
شنبه 15 بهمن 1390, 20:46 عصر
پیشنهاد خوبی بود! ولی زمانی که فاکس‌پرو کار می‌کردم، یه تابع داشتیم که مشخص می‌کرد فایل‌مون در حال استفاده هست یا نه!! یه همچین چیزی می‌خواستم! ولی بازم ممنون

Mask
شنبه 15 بهمن 1390, 20:54 عصر
البته از کد زیر هم میتونید استفاده کنید.

function IsFileInUse(FileName: TFileName): Boolean;
var
HFileRes: HFILE;
begin
Result := False;
if not FileExists(FileName) then Exit;
HFileRes := CreateFile(PChar(FileName),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_N ORMAL,0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then
CloseHandle(HFileRes);
end;



procedure TForm1.Button1Click(Sender: TObject);
begin
if IsFileInUse('C:\1.exe') then
ShowMessage('File is in use.')
else
ShowMessage('File not in use.');
end;

mojiparadox
شنبه 15 بهمن 1390, 22:11 عصر
ایده جالبی دادی... مرسی... ذهنت خیلی باز تر از خیلیاستا!!!!

fahimi
یک شنبه 16 بهمن 1390, 22:06 عصر
تابعی هست که در صورتیکه تیبل(table) باز بود نتیجه آن true و در غیر این صورت نتیجه false بشود

mohsen24000
یک شنبه 16 بهمن 1390, 22:46 عصر
if tbl.active then tbl is open...

mojiparadox
دوشنبه 17 بهمن 1390, 14:47 عصر
مرسی، ولی منظورم Table نبود!

fahimi
دوشنبه 17 بهمن 1390, 19:20 عصر
if tbl.active then tbl is open...
منظور من موقعیکه از دیتابیس در حالت share استفاده بشود