نمایش نتایج 1 تا 5 از 5

نام تاپیک: آیا تعداد کنتریهای Ado با سرعت اجرای برنامه ارتباط داره؟

  1. #1

    آیا تعداد کنتریهای Ado با سرعت اجرای برنامه ارتباط داره؟

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

    به نام خدا
    سلام
    من یه برنامه نصفه کاره دارم که تاحالاش چیزی بیشتر از 20 تا adocommand و بیشتر از 40 تا adoQuery و بیشتر از 20 تا adotable دارم. و نا برنامه تموم بشه احتمالا یه 10-20 تا Adoquery و adotable دیگه بهش اضافه میشه!
    من چون مثل شما اساتید دلفی کار نکردم و فقط کارهایی که تابحال باهش انجام دادم نه بیشتر! اینجور موقع ها نمی دونم چیکار باید بکنم!
    من برای تمام این adocommand ها و adotable ها وadoquery ها برای اتصال به sql از connectionstring استفاده کردم! یعنی برای هر کدوم conctionstriong را جدا ساختم!
    و حالا وقتی برنامه را اجرا می کنم. خیلی طول میکشه تا فرم اول بیاد!
    حالا تو جستجویی که تو انجمن دلفی داشتم انجام میدادم به موردی بر خوردم که البته در رابطه با ado نبود ولی برداشت من این بود که connection های زیاد باعث کند شدن برنامه میشه! فکر کردم شاید باید یه adoconnection داشته باشم و ارتباطشو به sql درست کنم! و بعد بقیه adotable ها و adoquery ها و adocommand ها را از طریق اون به sql وصل کنم!
    حالا درست فکر کردم یا نه؟ اگه باید این کارو بکنم تا قبل از این که تعداد کنترلهای ado بیشتر از این بشه! این کارو بکنم!
    اگه مال این نیست، پس از چی ممکنه باشه که برنامه دیر اجرا میشه!
    و از اون مطلبی که جستجو پیدا کردم، این برداشت هم کردم که اگه برنامه را تو شبکه استفاده کنیم ، این coonection های زیاد باعث کند شدن میشه! درسته؟
    و یه سوال دیگه اینکه من database ام sql است و دلفی از طریق ado همونطور که گفتم به sql وصل شدم. ولی حالا برنامه داره روی یک کامپیوتر اجرا میشه! اگه یه زمانی بخواهم از برنامه ام توی شبکه (حالا نه بزرگ، مثلا یه شبکه 5 تا کامپیوتری استفاده کنم) و بعد sqlserver را روی کامپیوتر اصلی نصب بشه و برنامه ام را که با دلفی نوشتم روی بقیه کامپیوترها قرار بگیرة! می تونه از طریق شبکه به database روی sql کامپیوتر اصلی وصل بشه! یا connection هاش مشکل پیدا میکنه؟ در این مورد اینکه برنامه بعدا تو همچین شبکه استفاده بشه، چه چیزی باید در نظر یگیرم؟
    لطف کنید راهنمایی کنید!
    با آروزی موفقیت و سلامتی
    آخرین ویرایش به وسیله oghab : دوشنبه 21 آذر 1384 در 19:12 عصر

  2. #2
    حالا تو جستجویی که تو انجمن دلفی داشتم انجام میدادم به موردی بر خوردم که البته در رابطه با ado نبود ولی برداشت من این بود که connection های زیاد باعث کند شدن برنامه میشه! فکر کردم شاید باید یه adoconnection داشته باشم و ارتباطشو به sql درست کنم! و بعد بقیه adotable ها و adoquery ها و adocommand ها را از طریق اون به sql وصل کنم!
    حالا درست فکر کردم یا نه! اگه باید این کارو بکنم تا قبل از این که تعداد کنترلهای ado بیشتر از این بشه! این کارو بکنم!
    درست فکر کردید، در همچین مواقعی باید از AdoConnection استفاده کنید.

    ولی حالا برنامه داره روی یک کامپیوتر اجرا میشه! اگه یه زمانی بخواهم از برنامه ام توی شبکه (حالا نه بزرگ، مثلا یه شبکه 5 تا کامپیوتری استفاده کنم) و بعد sqlserver را روی کامپیوتر اصلی نصب بشه و برنامه ام را که با دلفی نوشتم روی بقیه کامپیوترها قرار بگیرة! می تونه از طریق شبکه به database روی sql کامپیوتر اصلی وصل بشه! یا connection هاش مشکل پیدا میکنه؟ در این مورد اینکه برنامه بعدا تو همچین شبکه استفاده بشه، چه چیزی باید در نظر یگیرم؟
    ممکنه نام سرور در داخل شبکه با نام سرور در سیستم شما تفاوت داشته باشه، باید مکانیزمی در نظر بگیرید تا کاربر بتونه نام سرور را برای اتصال از طریق شبکه وارد کنه.

  3. #3
    VIP آواتار hr110
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران - تهران
    پست
    1,460
    در تکمیل فرمایشات استاد عزیز ، چند نکته را یادآور میشوم:
    1- بهتر است از یک Data Module استفاده کنید، البته من گاهی در پروژههای بزرگ و پیچیده از روش ایجاد runtime استفاده میکنم که در هر زمان که نیاز بود یک dataset ایجاد کرده و در پایان تراکنش نیز تخریب میشود ...
    2- به احتمال زیاد برخی از اجزاء نام برده شده تکراری بوده و میتوانید مثلاً از یک یا چند adoquery برای تمامی مصارف استفاده نمایید.
    3- بهتر است یک متد برای ایجاد connection string (مثلاً getConnectionString) ایجاد نمایید.
    4- حداکثر یک یا دو ADOConnection برای سراسر App شما کفایت میکند، دومی برای مواردی مورد استفاده قرار میگیرد که بخواهید از transactionها استفاده نمایید(تجربه نشان داده است که اینگونه مشکلات کمتری خواهید داشت)
    5- جستجوی مختصری در سایت داشته باشید و از تجربیات و مقالات پربار سایت استفاده کنید.:لبخندساده
    ... چه بگویم که غم از دل برود چون تو بیایی

  4. #4
    با سلام
    و ممنون از راهنماییهاتون و لطفتون
    نقل قول نوشته شده توسط علی کشاورز
    درست فکر کردید، در همچین مواقعی باید از AdoConnection استفاده کنید..
    پس یعنی من یه adoconnection بذارم و بار ارتباط adotable و غیره از اون استفاده کنم؟


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

    نقل قول نوشته شده توسط hr110
    1- بهتر است از یک Data Module استفاده کنید، البته من گاهی در پروژههای بزرگ و پیچیده از روش ایجاد runtime استفاده میکنم که در هر زمان که نیاز بود یک dataset ایجاد کرده و در پایان تراکنش نیز تخریب میشود ...
    4- حداکثر یک یا دو ADOConnection برای سراسر App شما کفایت میکند، دومی برای مواردی مورد استفاده قرار میگیرد که بخواهید از transactionها استفاده نمایید(تجربه نشان داده است که اینگونه مشکلات کمتری خواهید داشت)
    متاسفانه من چیزی از Data Module و transactionو datset نمی دونم! و البته انتظارم ندارم، حالا اینجا به من آموزش بدین.


    نقل قول نوشته شده توسط hr110
    2- به احتمال زیاد برخی از اجزاء نام برده شده تکراری بوده و میتوانید مثلاً از یک یا چند adoquery برای تمامی مصارف استفاده نمایید.
    من سعی کردم در این مورد صرفه جویی کنم. ولی مطمئنم فرمایش شما درسته و بازم خیلی هاشون هستند که زیادیند و می شده از یک adoquery واسه چند منظور استفاده کرد. سعی می کنم از این به بعد این موضوع را بیشتر رعایت کنم!

    نقل قول نوشته شده توسط hr110
    3- بهتر است یک متد برای ایجاد connection string (مثلاً getConnectionString) ایجاد نمایید.
    خیلی ببخشید! ولی میشه بگید چطوری؟

    نقل قول نوشته شده توسط hr110
    5- جستجوی مختصری در سایت داشته باشید و از تجربیات و مقالات پربار سایت استفاده کنید.:لبخندساده
    حتما، به روی چشم. ولی میشه بگید، چی search کنم! آخه شما که قبلا این مقالات را خوندید، بهتر می دونید اگه چه اصطلاحاتی را جستجو کنیم، اونا را راحتر پیدا می کنیم!

    ممنون از راهنماییهاتون و وقتی که صرف می کنید!
    امیدوارم موفق و سلامت باشید!
    آخرین ویرایش به وسیله oghab : سه شنبه 22 آذر 1384 در 15:53 عصر

  5. #5
    نقل قول نوشته شده توسط hr110
    3- بهتر است یک متد برای ایجاد connection string (مثلاً getConnectionString) ایجاد نمایید.

    نقل قول نوشته شده توسط علی کشاورز
    ممکنه نام سرور در داخل شبکه با نام سرور در سیستم شما تفاوت داشته باشه، باید مکانیزمی در نظر بگیرید تا کاربر بتونه نام سرور را برای اتصال از طریق شبکه وارد کنه.
    خواهش می کنم، راجع به این دو مورد یه مقدار توضیح بدید! لطفا!

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

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