وقتی یه ویو از تیبل اس کو ال تعریف میکنیم چطور میتوانیم فایلهای شاخص تعریف کرد و با دستور set order to بر اساس ستونها مختلف مرتب کرد
یا به عبارت دیگر تو خود ویو چطوری از دستور seek , میتوان استفاده کرد
وقتی یه ویو از تیبل اس کو ال تعریف میکنیم چطور میتوانیم فایلهای شاخص تعریف کرد و با دستور set order to بر اساس ستونها مختلف مرتب کرد
یا به عبارت دیگر تو خود ویو چطوری از دستور seek , میتوان استفاده کرد
تا اونجایی من اطلاعات دارم در زمان بالا آمدن برنامه توی load فرمها میتونی ایندکس بسازی و ازش استفاده کنی ولی ظاهرا نمیشه مثل جداول فاکس یکبار فایلهای ایندکس رو ساخت و همش استفاده کرد.البته یک حسن فاکس امکان استفاده از فرامین sql server هست ازجمله فرمان select .شاید (تاکید شاید) سرعت اجرای اونها به اندازه seek (شایدم بیشتر !)باشه.به هرحال یک نگاه بنداز برا شروع مفید:
https://www.foxite.com/faq/default.aspx?id=54
من یه گرید دارم که درونش لیست کالاها ست و وقتی روی هدر هر ستون کلیک میکنم set order مخصوص اون ستون انجام میشه و همون موقع گرید سورت شده نمایش داده میشود . حالا وقتی همین گرید را براساس ویو اس کیو ال ایجاد میکنم این خاصیت رو نمیتونم انجام بدهم اگه میشه راهنمایی کنید
متاسفانه تو این زمینه چون خودم کار نکردم اطلاعاتی ندارم .فقط توصیه میکنم به foxite.com مراجعه کن.حتما جواب میگیری.فقط یک نکته مهم اینکه برای کار با sqlserver (و سایر پایگاههای داده نظیر oracle,my sql ) علاوه بر remote view از دو روش دیگه یکی cursor adaptor و دیگری SPT میتونی استفاده کنی و یا اینکه هرکدام رو تو بخشی از برنامه استفاده کنی.همین گرید یک روش تو foxite.com با استفاده از cursor adaptor توضیح داده.ویا برای جستجو در فایلهای با رکورد زیاد توابع SPT خیلی سریع شاید سریعتر از seek در فاکس کار میکنن.تاسف بزرگ اینکه تو این زمینه هیچ منبع فارسی نداریم.هر جند خود VFP تنها یک مرجع تا حدی مفید(اونم برا اولین ورژن تحت ویندور!) وجود داره.
آخرین ویرایش به وسیله gh_khajehzade : سه شنبه 12 بهمن 1395 در 10:14 صبح
در تیبل های فاکس شما وقتی رکوردی را دیلیت میکنید تا زمانی که دستور pack اجرا نشده باشد رکورد قابل بازیابی میباشد آیا در sql هم همین امکان وجود دارد
دارم روش کار میکنم !
در یک ویو اس کیو ال سرعت دستور insert into بیشتره یا append , replace
میتونی خودت سرعت رو تست کنی:
s1=seconds()
=messagebox('for test')
s2=seconds()
?s2-s1