صفحه 1 از 3 123 آخرآخر
نمایش نتایج 1 تا 40 از 88

نام تاپیک: برنامه نویسی شبکه

  1. #1
    مدیر بخش آواتار binyaz2003
    تاریخ عضویت
    آبان 1382
    محل زندگی
    کرمان
    سن
    39
    پست
    2,107

    برنامه نویسی شبکه

    سلام
    می خواستم بدونم در برنامه نویسی برای شبکه بغیر از قفل کردن فایل یا رکورد موضوع دیگه ای هم هست یا نه؟
    اگر هر چیزی هست حتی کوچک بگید لطفاً
    مثلاً برنامه هایی که معمولی مینویسیم رو شبکه اجرا میشه؟
    وب سایت شخصی
    وبلاگ آموزش ویژوال فاکس پرو - به دلیل تعطیل شدن میهن بلاگ نوشته های وبلاگ به وب سایت شخصی منتقل شدند.

  2. #2
    بافرینگ روی سطر یا فایل/قفلهای خوش بینانه یا بدبینانه/transaction/rollback/
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  3. #3
    با سلام


    یکی از تفاوتهای مهم شبکه و تک کاربری در این است که این برنامه ها بایستی منابع را مشترک استفاده نمایند. بنابراین در ابتدای هر برنامه مخصوص شبکه معمولا از دستور
    SET EXCLUSIVE OFF استفاده می کنند یا اینکه هر بانک یا جدولی را با زیر دستور SHARED باز میکنند.
    اما متاسفانه بعضی از دستورات نیاز دارند که بانک به صورت اختصاصی باز شود این دستورات شامل:
    ALTER TABLE, INDEX,INSERT [BLANK],MODIFY STRUCTURE,PACK, REINDEX, ZAP
    هستند. شما مواظب این دستورات باشید.
    همچنین بافرینگ داده ها را همانطور که آقا "کیا" فرمودند مد نظر قرار دهید. همچنین جلوگیری از تداخل داده ها. برای توضیحات بیشتر به Help ویژوال فاکس پرو مراجعه کنید با عنوان
    Programming for Shared Access مراجعه فرمائید.

  4. #4
    مدیر بخش آواتار binyaz2003
    تاریخ عضویت
    آبان 1382
    محل زندگی
    کرمان
    سن
    39
    پست
    2,107
    منون از توجه شما من منظورم این بود که تمام فرق شبکه اینه که باید از تداخل جلوگیری کنیم و مواظب قفل ها باشیم
    کار دیگه ای لازم نیست؟
    وب سایت شخصی
    وبلاگ آموزش ویژوال فاکس پرو - به دلیل تعطیل شدن میهن بلاگ نوشته های وبلاگ به وب سایت شخصی منتقل شدند.

  5. #5
    سلام
    یک بانک بصورت اشتراکی باز شده.
    چند کاربر در برنامه با چند رکورد در حال کار هستند.
    قرار هست تمام یا بعضی از رکوردها پاک شود
    در صورت تداخل شروط با رکوردهای فعال کاربران برنامه دچار مشکل میشود
    سوال
    نمایش تعداد رکورد فعال در یک بانک ؟
    پاک نمودن تمام یا بعضی از رکوردها به همراه شرط عدم فعال بودن ؟
    نمایش فعال یا عدم فعال بودن یک رکورد؟
    متشکرم

  6. #6
    سلام
    آیا توابع ذیل برای قفل کردن یک رکورد کافیست آیا مشکل ندارد؟
    FUNCTION rekord_lock
    PARAMETERS in_table
    DO WHILE .t.
    IF .not. RLOCK(in_table)
    =MESSAGEBOX('این رکورد توسط کاربران دیگر درحال استفاده است','لطفا چند لحظه صبر کنید',64,100)
    =RLOCK(in_table)
    ELSE
    =RLOCK(in_table)
    exit
    ENDIF
    ENDDO
    return(.t.)
    من در یک فرم از یک گرید برای نمایش رکوردهای ثبت شده استفاده کرده ام ولی به هنگام اصلاح یک رکورد خطای استفاده رکورد توسط کاربر دیگری را میدهد ولی در ثبت چنین خطایی مشهود نیست مشکل در کجاست؟!!
    رهرو

  7. #7
    شاید یکبار قفل می کنید و باز نمی کنید و ...

    باید ببینید مشکل از کجاست.

    اما چرا از ابزارهای خود فاکس استفاده نمی کنید؟
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  8. #8
    نقل قول نوشته شده توسط rezaTavak
    شاید یکبار قفل می کنید و باز نمی کنید و ...

    باید ببینید مشکل از کجاست.

    اما چرا از ابزارهای خود فاکس استفاده نمی کنید؟
    جناب تاوک سلام
    کدام ابزارها؟ میشه بیشتر توضیح بدین!؟
    در ضمن از همه دوستان متشکر میشم در خصوص تائید یا رد تابع فوق نظرشون رو اعلام کنن!

  9. #9
    مثلا کلاسهای آماده مانند txtbtn و...
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  10. #10
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    VFP تحت شبکه

    سلام
    من چند ساله با فاکس پروژه انجام میدم و خیلی ازش راضی هستم
    فقط منابع فارسی در دسترس نیست
    نمیدونم بقیه چیکار میکنین ولی من از یک DBF موقت به عنوان COntrol Source فرم ها و اشیای داخلش استفاده میکنم و Data رو از DBF اصلی میخونم (کلا از دستورات SQL برای ثبت و ویرایش و گزارشات استفاده میکنم)و داخل اون میریزم واسه ثبت یا ویرایش اطلاعات تا حالا از data base ها استفاده نکردم همیشه از free table ها استفاده میکنم .
    واسه تخت شبکه هم به همین روش با این تفاوت که dbf رو share میکنم و موقع ثبت و ویرایش حواسم به شماره ردیف ها هم هست .
    آیا روش من درست هست یا نه ؟ شما ها چیکار میکنید؟
    مشکلی که دارم اگر شبکه راه دور باشه همه حجم اطلاعات رو میخواد بکشه اونور که عملی نیست.
    لطفا در مورد استفاده از remote View و نحوه Update اون و کلا پروژه هائی که باید از این طریق نوشته بشه و مزایاش بگین .

    مرسی

    زنده باد ویژوال فاکس

  11. #11
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305
    من خودم به شخصه از جدول استفاده می کردم. و همیشه عقیده داشتم هر کاری باشه با همین جداول انجام میشه.

    اما وقتی دیدم وقتی جدول در دیتابیس قرار بگیرد و استفاده از tiger ها چقدر کد نویسی را بهتر و راحت تر کرده دیگه طرفدار پروپاقرص دیتابیس شدم.
    اما خوب مسلما برای ارتباط با راه دور و حجم بالاتر باید به فکر sql - mysql و ... باشیم

  12. #12
    نقل قول نوشته شده توسط mehran_337 مشاهده تاپیک
    من خودم به شخصه از جدول استفاده می کردم. و همیشه عقیده داشتم هر کاری باشه با همین جداول انجام میشه.

    اما وقتی دیدم وقتی جدول در دیتابیس قرار بگیرد و استفاده از tiger ها چقدر کد نویسی را بهتر و راحت تر کرده دیگه طرفدار پروپاقرص دیتابیس شدم.
    اما خوب مسلما برای ارتباط با راه دور و حجم بالاتر باید به فکر sql - mysql و ... باشیم
    سلام مهران جان
    میشه در مورد tiger ها بیشتر توضیح بدی
    یه مثال کوچلو لطفا
    متشکرم

  13. #13
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305
    خودمن و خیلی ها که با فاکس کار می کنیم کد نویسی رو درون فرمهامون می دونیم.
    مثلا برای اینکه یک فیلدی با فیلد دیگر جمع بسته بشه درون فرم و باکدهایی هنگام ثبت این کار رو می کنیم.

    اما اگر جداول را تحت دیتابیس ایجاد کنیم در برگه سوم صفحه table می تونیم گزینه tigger رو ببینیم.
    insert tigger - update tigger - delete tigger

    اگر جلوی اینها اسم تابعی رو بنویسیم دیگه لازم نیست درون فرم کد نویسی کنیم .
    مثلا من حین کار با پروژه یادم اومد که باید روی فیلدی محاسبه می شد و در فیلدی دیگر ذخیره می شد . حالا باید بگردم و در تمام فرمهایی که فیلد مورد نظر وارد شده بود محاسبات انجام بشه.
    بجای همچین کاری تابعی می سازم و در جلوی آپدیت تیگر می نویسم.
    درون تابع هم محاسباتم رو انجام می دم و در فیلد مورد نظر جایگزین می کنم.
    حالا حتی در brow هم اگر درون فیلد تغییراتی بدید می بینید محاسبات انجام می شه.
    من امشو می زارم کدنویسی در دیتابیس . خیلی کارها می شه کرد.
    مثلا ایجاد کد شناسایی : در insert tigger تابعی درست کنیم که کد تولید کنه.
    حالا اگر در brow هم رکورد ایجاد کنیم می بینیم کد ایجاد شده.

  14. #14
    مسلما فاکس دیروز را با امروزه نمیشه مقایسه کرد باید بهتر بشه.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  15. #15
    کاربر دائمی آواتار Esikhoob
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    Tehran
    پست
    277

    FLUSH Force

    با سلام
    ظاهرا تنها فرق برنام نویسی تحت شبکه VFoxPro با غیر شبکه ای ، استفاده از set exclusive off است و اگر برنامه نویسی قشنگ و حرفه ای ای بخواهیم بکنیم باید موضوع استفاده چند کاربر به طور همزمان را هم در نظر بگیریم(در غیر این صورت ، کاربر دوم یک Error می گیرد).
    یک موردی که من بهش برخوردم ، این بوده که بعضی وقتها اطلاعات به درستی روی سرور ذخیره نمیشود ، در حالی که برنامه منطقا درست است و اشکال هم به ندرت پیش میآید و دقیقا معلوم نیست کی ممکن است پیش آید ، در این مورد Microsoft مطلب زیر را گفته:
    http://support.microsoft.com/default...b;en-us;224992
    البته با توجه به این مقاله زمان به وجود آمدن این اشکال Hang کردن ،قطعی شبکه ، ریست شدن ناگهانی سیستم ، یا اشکالات کامپیوتری دیگر عنوان شده ، و برای کمتر کردن بروز این اشکال از راه برنامه نویسی، استفاده از FlushFileBuffers API پیشنهاد شده . اما به نظر من microsoft در مورد این مسئله درست توضیح نمیدهد تا مردم را به سمت MS SQL SERVER بکشد.
    اگر شما از VFP9 استفاده میکنید دستور FLUSH Force همان API را که microsoft گفته را صدا میکند (رجوع شود به help این دستور)
    در ورژن های قبلی VFP فقط دستور FLUSH (بدون Force) وجود دارد که طبق گفته افراد مختلف تاثیر لازم را ندارد .(منظورم در Forum های دیگه است).

  16. #16
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305
    به این لینک نگاه کن
    https://barnamenevis.org/showth...A8%DA%A9%D9%87

  17. #17
    نقل قول نوشته شده توسط Esikhoob مشاهده تاپیک
    با سلام
    ظاهرا تنها فرق برنام نویسی تحت شبکه VFoxPro با غیر شبکه ای ، استفاده از set exclusive off است و اگر برنامه نویسی قشنگ و حرفه ای ای بخواهیم بکنیم باید موضوع استفاده چند کاربر به طور همزمان را هم در نظر بگیریم(در غیر این صورت ، کاربر دوم یک Error می گیرد).
    یک موردی که من بهش برخوردم ، این بوده که بعضی وقتها اطلاعات به درستی روی سرور ذخیره نمیشود ، در حالی که برنامه منطقا درست است و اشکال هم به ندرت پیش میآید و دقیقا معلوم نیست کی ممکن است پیش آید ، در این مورد Microsoft مطلب زیر را گفته:
    http://support.microsoft.com/default...b;en-us;224992
    البته با توجه به این مقاله زمان به وجود آمدن این اشکال Hang کردن ،قطعی شبکه ، ریست شدن ناگهانی سیستم ، یا اشکالات کامپیوتری دیگر عنوان شده ، و برای کمتر کردن بروز این اشکال از راه برنامه نویسی، استفاده از FlushFileBuffers API پیشنهاد شده . اما به نظر من microsoft در مورد این مسئله درست توضیح نمیدهد تا مردم را به سمت MS SQL SERVER بکشد.
    اگر شما از VFP9 استفاده میکنید دستور FLUSH Force همان API را که microsoft گفته را صدا میکند (رجوع شود به help این دستور)
    در ورژن های قبلی VFP فقط دستور FLUSH (بدون Force) وجود دارد که طبق گفته افراد مختلف تاثیر لازم را ندارد .(منظورم در Forum های دیگه است).
    در برنامه نویسی تحت شبکه در داس یادمه که نمیشد از بعضی دستورات مانند sum استفاده کرد یا مثلا بجای scan for باید از scan whil استفاده میشد .
    آیا واقعا در vfp دیگر نیازی به اینها نیست ؟ البته من تا حالا با vfp کار شبکه انجام ندادم ولی تو داس زیاد کار تحت شبکه انجام میدادم و همیشه به این نکات دقت داشتم .

  18. #18
    کاربر دائمی آواتار Esikhoob
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    Tehran
    پست
    277
    با سلام
    دوست عزیز من نمی دانم که این شکالات که شما گفتی در VFP برطرف شده یا نه ، ولی می‌خواهم بدانم چرا در DOS نباید از SUM استفاده کرد و یا SCAN FOR گذاشت؟

  19. #19
    نقل قول نوشته شده توسط Esikhoob مشاهده تاپیک
    با سلام
    دوست عزیز من نمی دانم که این شکالات که شما گفتی در VFP برطرف شده یا نه ، ولی می‌خواهم بدانم چرا در DOS نباید از SUM استفاده کرد و یا SCAN FOR گذاشت؟
    در فرمانهای فوق کل رکوردهای tabel درگیر میشود که در حالت اضافه یا حذف رکورد توسط کاربر دیگر با پیغام خطا مواجه میشیم. در حالی که وقتی با seek به رکورد مورد نظر رسیدید با اجرای scan whil فقط رکوردهای شرط فوق درگیر میشوند .
    البته سوادم در این حد بود که توضیح دادم

  20. #20
    ساده و خلاصه:
    در مجموع درست عمل ميکنيد
    در خصوص شبکه پيشنهاد ميکنم از فاکس پرو+اس کيو ال يا ماي اس کيو ال استفاده کنيد
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  21. #21
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    استفاده از Remote Table ها و نوشتن به صورت Client server رو کسی کار کرده؟

  22. #22
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    سلام من دربدر دنبال این بحث هابودم که تازه اینجا پیدا کردم
    دوستان عزیز و مهران گل ، من هم دقیقا همین مشکلات رو دارم . روشهای اجرائیم در شبکه به همین صورته که شما گفتید ، ولی الان در اجرای سیستمهای اتوماسیون بزرگ مشکلات زیر رو دارم
    1- ترافیک کاری بالا سرعت کار با بانک های share روی سرور رو پاویین میاره
    2- گزارش گیری ها خصوصا وقتی هم زمان چند کاربر دارن میگیرن یا ثبت اطلاعات میکنن سرعتش بسیار پائین میاد چون میخواد کل اطلاعات رو از روی شبکه از سرور بکشه روی کلاینت و گزارش تهیه کنه .
    3- به دلایل فوق کلاینت راه دور که دیگه اصلا با اون سرعت پائینش جواب نمیده.
    شما چکارکردید؟

  23. #23
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305

    نقل قول: برنامه نویسی شبکه

    اگر قرار بود این مشکلات حل می شد در مرحله اول اینترنت کشور باید از اینهمه مشکلات فارغ می شد.
    اتوماسیون اداره ما چند ده میلیون خریداری شده با هزینه پشتیبانی بسیار بالا.
    sql server هم داره کار می کنه . اما بعضا هنگام ثبت نام دانشجویان می رسه وقتی روی ثبت کلیک می کنی 1 دقیقه باید بمونی تا عمل کنه.
    به هر حال فکر نمی کنم مشکل شما در مان قطعی داشته باشه . ذات شبکه در کشور و نوع شبکه و در مرحله آخر ( صرفا از نظر بنده ) این مشکلات را به همراه دارد.
    در تعداد رکورد پایین و ترافیک کمتر برنامه خوب کار می کنه و در مواقع دیگر نه . حال بعضی برنامه ها log طراحی می کنند که کلیه عملیات کاربران در آن ثبت شده و قابل پیگری می باشد. این فایل وقتی یه مدت بگذره تعداد رکورد عظیمی داره و خودش عاملی برای کندی برنامه .

  24. #24
    مدیر بخش آواتار binyaz2003
    تاریخ عضویت
    آبان 1382
    محل زندگی
    کرمان
    سن
    39
    پست
    2,107

    نقل قول: برنامه نویسی شبکه

    شما ميتوانيد به همين جداول فاکس با odbc وصل بشيد.يعني ديگه share نکنيد انگار داريد به sql وصل ميشيد اما رشته اتصالتون رو براي فاکس پرو انتخاب کنيد
    http://www.connectionstrings.com/visual-foxpro
    http://www.connectionstrings.com/dbf-foxpro
    اينجوري ديگه براي يک گزارش کل اطلاعات جابجا نميشه.
    وب سایت شخصی
    وبلاگ آموزش ویژوال فاکس پرو - به دلیل تعطیل شدن میهن بلاگ نوشته های وبلاگ به وب سایت شخصی منتقل شدند.

  25. #25
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    الان من تو برنامه ام به صورت پارامتری آدرس DBF هام رو کهfree table هم هستند server\dfs\\ که یه فولدر share هست تعریف کردم و بلدم روی server اون فولدر رو بیارم تو odbc ، ولی :

    1- بعد از اون آدرس dbf هام رو تو برنامه به جای server\dfs\\ چی بدم ؟
    2- رو کامپیوتر کلاینت چکار باید بکنم که با dbf های روی سرور کارکنه ؟

  26. #26
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    یک سوال دیگه :

    تفاوت Visual foxpro ODBC Driver با VFP OL DB Provider چیه؟
    من هر دوشو دانلود کردم فعلا OBDC Driver رو نصب کردم و فولدر DBF ها مو با این درایور از روی شبکه آوردم تو ODBC.
    بعد آمدم و در پروژه فاکس هم یک database ایجاد کردم و شاخه اطلاعات رو که حالا درون ODBCهست آوردم توی کانکشن (Connection1) این Database.
    ولی حالا نمیدونم چطوری table های داخل اون فولدر رو بیارم از طریق کانکشن توی پروژه ام؟!!
    اینجا فقط از طریق REmote View میشه فقط Field های منتخب رو از اون Table ها آورد تو پروژه .
    لطفا برام توضیح بدبد چیکار کنم. مرسی.

  27. #27
    مدیر بخش آواتار binyaz2003
    تاریخ عضویت
    آبان 1382
    محل زندگی
    کرمان
    سن
    39
    پست
    2,107

    نقل قول: برنامه نویسی شبکه

    يک مثال ساده ميارم که خودم امتحان کردم.براي تست اين کد اول يک ديتابيس در يک پوشه بسازيد و بعد در اون يک جدول به اسم contacts بسازيد(ميتونيد از ويزارد جدولها،جدول contacts رو انتخاب کنيد.چند تا رکورد وارد کنيد )و کلا ديتابيس و جدول رو ببنديد.
    حالا يک فايل prg بسازيد و کد زير رو وارد و اجرا کنيد :
    gnConnHandle=Sqlstringconnect("Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:\test\dat\data1.  dbc;Exclusive=No; NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED  =NO;")
    If gnConnHandle < 0
    = Messagebox('Cannot make connection', 16, 'SQL Connect Error')
    ELSE
    RetVal=SQLEXEC(gnConnHandle,"select * from contacts","cont")
    BROWSE
    = Messagebox('Connection made', 48, 'SQL Connect Message')
    = SQLDisconnect(gnConnHandle)
    Endif

    اگر همه چيز درست پيش بره شما يک کرسر به اسم cont که محتوي تمام فيلدهاي جدولي که ساختيد،ميبينيد.توسط دستور sqlexec ميتونيد تمام دستورات استاندارد sql رو اجرا کنيد.انگار با يک ديتابيس sql server يا mysql يا ... کار ميکنيد.با remote view هم ميشه کار کرد اما من اين روش رو ترجيح ميدم چون با تنها استفاده از سه دستور شما به ديتابيس وصل ميشيد،با اطلاعات بازي ميکنيد و اتصال رو ميبنديد.
    وب سایت شخصی
    وبلاگ آموزش ویژوال فاکس پرو - به دلیل تعطیل شدن میهن بلاگ نوشته های وبلاگ به وب سایت شخصی منتقل شدند.

  28. #28
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    خوب ولی این کار یا Remote view صرفا بدرد گزارش گیری میخوره ، اگر بخواهیم با بانک ها کار کنیم چی؟

  29. #29
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305

    نقل قول: برنامه نویسی شبکه

    فرق ویو با کوئری همینه . کوئری صرفا برای گزارشات استفاده می شه اما ویو دقیقا با بانکها حتی بانکهای دیگر مثل اس کیول و مای اسکیوال مانند جداول فاکس رفتار می کنه یعنی در ویو می تونید append blank کنید و replace و ...

  30. #30
    مدیر بخش آواتار binyaz2003
    تاریخ عضویت
    آبان 1382
    محل زندگی
    کرمان
    سن
    39
    پست
    2,107

    نقل قول: برنامه نویسی شبکه

    دستورات پرکاربرد SQL :
    Select
    Delete
    Insert
    هم رکوردها رو نمايش ميديد،پاک ميکنيد و جديد وارد ميکنيد.
    کار ديگه اي هست؟
    وب سایت شخصی
    وبلاگ آموزش ویژوال فاکس پرو - به دلیل تعطیل شدن میهن بلاگ نوشته های وبلاگ به وب سایت شخصی منتقل شدند.

  31. #31
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    اتفاقا من در کل برنامه ام از این 3 دستور و Update استفاده میکنم ولی وقتی به صورت تست یک database ایجاد کردم و فولدر dbf ها رو آوردم تو ODBC و از اون database یه کانکشن زدم به اون ODBC و یکی از بانک ها رو به صورت REmote viewآوردم داخل database، وقتی اطلاعات داخل View رو تغییر میدادم به صورت دستی ، بانک اصلی تغییر نمی کرد!! به نظر شما مشکل کجاست ؟ آیا واسه Update شدن View با بانک اصلی باید دستوری چیزی زد؟

  32. #32
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    مرسی خودم از Help فاکس فهمیدم چیکار باید کرد !
    یا باید از روی رکورد جابجا شی تا Update بشه یا دستور Tableupdate() رو بزنی!
    مرسی دوستان ، شما با این روش برنامه ای که از راه دور کارکنه نوشتین تا حالا؟

  33. #33
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    حالا سوال جدید اینه که وقتی یه کاربر شبکه رکوردی رو اضافه یا ویرایش میکنه ، View کاربران دیگه چطور این تغییر رو میفهمه و واسه خودش آپ دیت میکنه ، من راه یا دستوری پیدا نکردم ، تنها راهی که فهمیدم اینه که هی View بسته بشه و دوباره اجرا بشه !! البته اگر در پروژه روی View بری و راست کلیک بکنی یه آیتم Run Query هست که اگه بزنی این کارو میکنه ولی من Command شو پیدا نکردم. اگه شما میدونید بفرمائید چه کنم؟؟

  34. #34

    نقل قول: برنامه نویسی شبکه

    سلام .
    آقا من هم همین مشکل را داشتم (یعنی Command را پیدا نمیکردم) آخرش هم بیخیال ویوها شدم و رابطه ها را دستی تعریف کردم(اصل پاک کردن صورت مسئله در صورت نیافتن جواب).

  35. #35
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    حالا سوال جدید اینه که وقتی یه کاربر شبکه رکوردی رو اضافه یا ویرایش میکنه ، View کاربران دیگه چطور این تغییر رو میفهمه و واسه خودش آپ دیت میکنه ، من راه یا دستوری پیدا نکردم ، تنها راهی که فهمیدم اینه که هی View بسته بشه و دوباره اجرا بشه !! البته اگر در پروژه روی View بری و راست کلیک بکنی یه آیتم Run Query هست که اگه بزنی این کارو میکنه ولی من Command شو پیدا نکردم. اگه شما میدونید بفرمائید چه کنم؟؟

  36. #36
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    در بعضی مواقع کاربری روی یک کلاینت ثبت اطلاعات میکنه و روی سرور هم ثبت میشه از کلاینت خودش هم میتونه ببینه ولی از کلاینت دیگر اون سند دیده نمیشه (یعنی انگار updateنشده) این مشکل به نظرتون از چیه؟ میتونه از ترافیک بالا در شبکه نشأت بگیره ؟ یا از کارت شبکه سیستم یا کندی اون؟ خلاصه اشکال سخت افزاری باشه؟

  37. #37
    کاربر دائمی آواتار Esikhoob
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    Tehran
    پست
    277

    نقل قول: برنامه نویسی شبکه

    من قبلا متوجه موضوعی در برنامه نویسی شبکه شده بودم که دلم میخواد آن را اینجا بگویم :
    وقتی یک بانک را USE میکنید، بخشی از آن فایل DBF (نفهمیدم چقدر) ، load میشود داخل حافظه کامپیوتر .
    وقتی میخواهیم بفهمیم فلان فیلد مقدارش چند است یا فلان فیلد را با یک عدد دیگر جمع کنیم ، باید نام فیلد خالی را مثل یک متغییر معمولی صدا بزنیم ، در این حالت اطلاعات از همان حافظه میآید نه از روی DISK اصلی!!!
    مثلا بعد از USE ، اگر شما 5 ثانیه ثبر کنید و بعد نام یکی از فیلدهایش را به کار ببری مثلا:
    lnSumField=table.field1+2
    اینtable.field1 ، مقدار 5 ثانیه پیش فیلد را بر میگرداند .
    در واقع به کار بردن نام خالی فیلد - بدون استفاده از تابع CURVAL() ، که آن هم فقط در حالت Buffer هست- هیچگاه اطلاعات را از روی DISK نمیآورد.(set refresh to هم در این مورد هیچ تاثیری نداد)

    به نظرم برای حل این مشکل وقتی که به سر record مورد نظر رسیدیم باید یک RLOCK() بزنیم تا اولا مقدار فیلد Update شود ، ثانیا چون record ، قفل شده و کس دیگری نمیتواند عوضش کند ، می توانیم با خیال راحت از دستوراتی مثل:
    ? table.field1
    REPLACE Field1 with Field1+1
    MESSAGEBOX("content of field2 is:"+table.field2,"",16)

    استفاده کنیم.

  38. #38
    کاربر دائمی آواتار arashkhaan2002
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    اصفهان و تهران
    پست
    193

    نقل قول: برنامه نویسی شبکه

    مرسی اتفاقا قبل از اشاره شما من برای بالا بردن امنیت این کرو کردم فعلا هم مسئله ویرایش همزمان توسط 2 کاربر حل شده هم مسئله Update نبودن اطلاعات.
    فقط مشکلی که هست چون Rlock() رکورد رو قفل میکنه و من موقع ثبت اطلاعات از دستور Flock() استفاده کردم ، وقتی یکی داره کار ویرایش انجام میده ، دیگه کسی نمیتونه ثبت اطلاعات بکنه ، سرو صدای کاربرا در آومده !!

  39. #39
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305

    نقل قول: برنامه نویسی شبکه

    بد نیست اگر بگین چطور حل شده . چون می تونه جوابی برای کاربرای دیگه هم باشه

  40. #40

    نقل قول: برنامه نویسی شبکه


    SET MULTILOCKS on
    SET REPROCESS TO 2
    *message

    if RLOCK()=.f.
    RLOCK()
    ENDIF


    SET REPROCESS TO 1
    IF ISRLOCKED()=.f.
    wait window "اين شماره ، حساب ، ... ذر اختيار كاربر ديگري است"
    RETURN 0
    ENDIF

صفحه 1 از 3 123 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •