ورود

View Full Version : مبتدی : جستجوی تودرتو



ya ali
شنبه 12 دی 1388, 18:14 عصر
سلام
من دارای یکسری اطلاعات در بانکم هستم و میخوام بعد از هر بار جستجو به مطلب موردنظرم نزدیک بشم مدنظرم اینه به صورتی باشه که پس از هر بار جستجو ، جستجوی بعدی روی کل اطلاعات نباشه بلکه روی اطلاعات بدست آمده از جستجوی قبلی باشه صورت بگیره البته جوری باشه که برنامم چون اطلاعات زیادی داره سنگین نشه ممنون یا علی

ya ali
شنبه 12 دی 1388, 19:53 عصر
سلام کجایند برنامه نویسان بی ادعا که به من کمک کنند حالا یه نگاه بکنید شاید بلد بودیدا:لبخند:ممنون یاعلی

Hamid.Kad
شنبه 12 دی 1388, 20:16 عصر
میتونید نتایج هر مرحله رو توی جدول موقت بریزید و در مرحله بعدی از نتایج این جدول استفاده کنید.

ya ali
شنبه 12 دی 1388, 21:20 عصر
شرمنده نحوه کدنویسی و ساختن جدول موقت چه گونه است من با دستورات اولیه sql آشنا هستم و تا حالا به این مورد برنخورده ام و هیچ اطلاعی ندارم لطفا توضیح بدید ممنون یا علی

amin_alexi
یک شنبه 13 دی 1388, 09:04 صبح
شرمنده نحوه کدنویسی و ساختن جدول موقت چه گونه است من با دستورات اولیه sql آشنا هستم و تا حالا به این مورد برنخورده ام و هیچ اطلاعی ندارم لطفا توضیح بدید ممنون یا علی
به صورت زير مي توني جدول موقت بسازي و استفاده كني
جدول موقت بعد از اينكه ارتباطت با SQL قطع شد از بين مي ره !
و اين جدول توسط ساير Connection هايي كه به Database زده مي شه قابل دسترسي نيست.


select * into #Temp1 from MyTable
Where <Your Condition>
Select * From #Temp1

Hamid.Kad
یک شنبه 13 دی 1388, 10:47 صبح
جدول موقت بعد از اينكه ارتباطت با SQL قطع شد از بين مي ره !
و اين جدول توسط ساير Connection هايي كه به Database زده مي شه قابل دسترسي نيست.

جداول موقت دو نوع هستند:
1- محلی (local): که فقط در connection ی که ساخته شده اند قابل استفاده هستند و با قطع شدن ارتباط از بین می رن و connection های دیگه نمیتونن از اونها استفاده کنن.
2-عمومی (Global): وقتی یکی این نوع جدول رو ساخت، همه Connection های دیگه هم میتونن از اون استفاده کنن و زمانی حذف میشوند که همه connection هایی که به این جدول reference داشتند، ارتباطشون رو قطع کنند.

برای ساختن جداول موقت بصورت عمومی از دستور زیر استفاده کنید:
select * into ##Temp1 from MyTable
یعنی بجای # از ## استفاده کنید

ya ali
جمعه 18 دی 1388, 08:16 صبح
سلام
من با استفاده از کدهای شما جواب سوالم را پیدا کردم ممنون ولی مشکلی که دارم چون جدول هام حاوی اطلاعات بسیار زیادی هست برنامم برای چند ثانیه اصلا هنک می کنه لطفا راهی برای برطرف کردن این مشکل به منه مبتدی یاد بدید ممنون یا علی در ضمن با #Cبرنامه می نویسم

Hamid.Kad
جمعه 18 دی 1388, 14:03 عصر
این مشکل متاسفانه همواره وجود داره و شما باید با روشهای Tuning سعی کنید اون رو کمتر کنید. مثلاً گذاشتن ایندکس میتونه یه گزینه مناسب باشه. اگه جستجو کنید مطالب کامل و مفصلی توضیح داده شده. با این کارها زمان رو کاهش می دهید ولی خوب هیچ وقت به صفر نمی رسه.
برای رفع مشکل هنگ کردن برنامه (به اصطلاح، قفل کردن برنامه) میتونید از Thread ها استفاده کنید که میتونید توی بخش C# اطلاعات بهتری بدست بیارید