رفتن به مطلب
  • 0

کمک برای اضافه کردن شرط به این کد(سطح بالا)


afraz11

سوال

با سلام دوستان آیا میشه به این کد یه شرطی اضافه کرد

cur1=s.ExecQuery2("SELECT * FROM tbl1 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

 
مثلا اینطوری 

cur1=s.ExecQuery2("SELECT * FROM tbl1 where id =10 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

من این کد دومی رو نوشتم ولی کار نکر دوستان لطفا بگید که طرز استفاده درستش چه جوری لنگم به خدا

 

تشکر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ارسال‌های توصیه شده

 این ساختار دستوری  offset  هست  از روی این  میتونی  پیدا کنی

SELECT expressions
FROM tables
WHERE conditions
ORDER BY expression [ ASC | DESC ]
LIMIT number_rows OFFSET offset_value;
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

 این ساختار دستوری  offset  هست  از روی این  میتونی  پیدا کنی

SELECT expressions
FROM tables
WHERE conditions
ORDER BY expression [ ASC | DESC ]
LIMIT number_rows OFFSET offset_value;

 

تشکر

ولی میشه یه راهنمایی دقیقتر بکنید آخه زیادی با لیمیت کردن کار نکردم برام سخته

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

select  *  from Books where IDbook=1 order by ID limit 5  offset 1

این نمونه الان داره کار میکنه  لیست کتبی که ID  اونها 1 هست رو فقط نشون میده  و  مرتب بر حسب فیلد ID میشه و  حداکثر 5 فیلد رو از اول نشون میده  و در  افست میگیم از اولین رکورد مرتب شده به بعد یعنی اولین رکورد رو نشون نمیده  حالا ببینید شما چی میخواهید ازش.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام بببین این میشه

دو بار بنویس واسه من جواب داد

cur1=s.ExecQuery2("SELECT * FROM tbl1 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))
cur1=s.ExecQuery2("SELECT * FROM tbl1 where id =10 ")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

سلام بببین این میشه

دو بار بنویس واسه من جواب داد

cur1=s.ExecQuery2("SELECT * FROM tbl1 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))
cur1=s.ExecQuery2("SELECT * FROM tbl1 where id =10 ")

:roomNemishe:  این چطور میتونه کد بالا رو پوشش بده!!! مگر اینکه  کرسر شما بمونه و کوئری بعدی روی اون اعمال بشه !!!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

cur1=s.ExecQuery2("SELECT * FROM tbl1 where id =10 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5ا))

آقایون مطلب علمی هست نیازی نیست با حاشیه  خلط بشه ...

دوست عزیز من راه ساده رو نشونتون دادم چون میدونم چکار میخواهی بکنید این دوستمون که جواب دادن متوجه منظور شما نشدن نوعی دیگه جواب دادن .

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

( Crs=Msql.ExecQuery ("select * from  tbl1 where   id =10 Limit " &x & " OFFSET " & x2)

حالا  شما بجای  این دوتا x  اون متغیر های خودتو بده جواب بگیر.

 

وسلام

لینک ارسال
به اشتراک گذاری در سایت های دیگر

select  *  from Books where IDbook=1 order by ID limit 5  offset 1

این نمونه الان داره کار میکنه  لیست کتبی که ID  اونها 1 هست رو فقط نشون میده  و  مرتب بر حسب فیلد ID میشه و  حداکثر 5 فیلد رو از اول نشون میده  و در  افست میگیم از اولین رکورد مرتب شده به بعد یعنی اولین رکورد رو نشون نمیده  حالا ببینید شما چی میخواهید ازش.

 

 

خوب داداش من هر کاری کردم نشد شما که واردی کد بالا رو برام ویرایش کن لطفا

کاری کن یه همچین چیزی درست کار کنه

cur1=s.ExecQuery2("SELECT * FROM tbl1 where id =10 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

ممنون میشم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

داش گلم دقیق بگی میخوای چیکار کنی کوئری بهتری میشه ارائه داد . :)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

داش گلم دقیق بگی میخوای چیکار کنی کوئری بهتری میشه ارائه داد . :)

 

چشم داداش

 

من تو کد بالا اومد لیمیت گذاشتم که اطلاعتو 5 تا 5 اضافه کنه حالا من میخوام بهش بگم که اونایی که آیدیشون 1 رو 5 تا 5 اضافه کن یعنی یه شرطی به این کد اضافه کنم که این کارو برام انجام بده

 

با کد زیر فقط اطلاعاتو 5 تا 5 اضافه میکنه تا به آخر برسه حالا من میخوام این کدو ویرایش کنم و بهش بگم اونی که آیدیش 1 رو 5 تا 5 تا اضافه کن

cur1=s.ExecQuery2("SELECT * FROM tbl1 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

ممنون میشم جواب بدی خیلی گیرم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آی دی 1 فقط یکی وجود داره منظورت آی دی هایی هست که با 1 شروع میشن ؟

5 تا 5 یعنی چی ؟ منظورت از 5 تا 50 هست ؟

من منظورم این بود که کلا میخوای چیکار کنی نه اینکه درخواستت چیه داداش

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آی دی 1 فقط یکی وجود داره منظورت آی دی هایی هست که با 1 شروع میشن ؟

5 تا 5 یعنی چی ؟ منظورت از 5 تا 50 هست ؟

من منظورم این بود که کلا میخوای چیکار کنی نه اینکه درخواستت چیه داداش

 

داداش اصلا از لیمیت دادن چیزی میدونی خوب برای اینکه برامه کرش نشه بلهش لیمیت میدن وتا اطلاعات رو از دیتابیس کم کم بگیره (مثلا 5 تا 5تا) دیگه مثلا 200تا اطلاعاتو یک جا نمیخونه تا برنامه سنگین شه بعدشم کرش 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

از لیمیت من خیلی چیزا میدونم داداش گلم این کوئری که بالا گذاشتی اصلا منطقی نیست :

cur1=s.ExecQuery2("SELECT * FROM tbl1 where id =10 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

شما تو شرط اومدی گفتی فقط آی دی 10 را نشون بده بعد اومدی جلوش آفست و لیمیت گذاشته

آفست و لیمیت را زمانی به کار میبرن که بخوا یک بازه ای را از رکورد های موجود بگیرن مثلا از 10 تا 100 ولی وقتی شرط گذاشتی که آی دی برابر 10 باشه فقط یک خروجی داری اونم آی دی ده هست احتمالا شما میخوای شرط بذاری که آی دی بزرگتر از 10 را نشون بده شرطش به این صورت هست :

cur1=s.ExecQuery2("SELECT * FROM tbl1 where id>10 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

امیدوارم کمک کرده باشه . :)

 

باز نگفتی این کدو اصلا برای چی میخوای .

اگه بحث بهینه باشه کارا فراتر از این انجام میدن مثلا محتوا قدیمو تو یک فایل قرار میدن محتوا جدید را هر 24 ساعت آپدیت میکنه به اون فایل اینطوری سلکت هر 24 ساعت اجرا میشه و تو استفاده های زیاد تحت هر شرایطی کم نمیاره :) موفق باشید دوست گلم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

از لیمیت من خیلی چیزا میدونم داداش گلم این کوئری که بالا گذاشتی اصلا منطقی نیست :

cur1=s.ExecQuery2("SELECT * FROM tbl1 where id =10 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

شما تو شرط اومدی گفتی فقط آی دی 10 را نشون بده بعد اومدی جلوش آفست و لیمیت گذاشته

آفست و لیمیت را زمانی به کار میبرن که بخوا یک بازه ای را از رکورد های موجود بگیرن مثلا از 10 تا 100 ولی وقتی شرط گذاشتی که آی دی برابر 10 باشه فقط یک خروجی داری اونم آی دی ده هست احتمالا شما میخوای شرط بذاری که آی دی بزرگتر از 10 را نشون بده شرطش به این صورت هست :

cur1=s.ExecQuery2("SELECT * FROM tbl1 where id>10 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

امیدوارم کمک کرده باشه . :)

 

باز نگفتی این کدو اصلا برای چی میخوای .

اگه بحث بهینه باشه کارا فراتر از این انجام میدن مثلا محتوا قدیمو تو یک فایل قرار میدن محتوا جدید را هر 24 ساعت آپدیت میکنه به اون فایل اینطوری سلکت هر 24 ساعت اجرا میشه و تو استفاده های زیاد تحت هر شرایطی کم نمیاره :) موفق باشید دوست گلم

 

خدایش با این که کدت کار نکرد ولی خیلی ازت ممنونم که وقتت رو گذاشتی تا به من کمک کنی واقعا مردی مرد

cur1=s.ExecQuery2("SELECT * FROM tbl1 where id =10 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

کار نکرد کد بالا :'(

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کد من این بود داداش اونی که گذاشتی کد خودت بود :

cur1=s.ExecQuery2("SELECT * FROM tbl1 where id>10 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

کد من این بود داداش اونی که گذاشتی کد خودت بود :

cur1=s.ExecQuery2("SELECT * FROM tbl1 where id>10 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

 

 

خوب داداش گفتمن که کدت کار نکرد متاسفانه

 

یکی نیست کمک کنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

شما واضح بگو چی میخوای من از کوئری شما کاملا گیج شدم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید این تابع مدل 2 واسه SELEct کردن داده هستش.

باید علامت سوال بزاری و مقدارش قسمت دوم که از Array String  استفاده شده باید قرار بدید.

خالا اگه تنونستید درستش کنید تا فردا انشاءالله بنده درستش میکنم واستون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببینید این تابع مدل 2 واسه SELEct کردن داده هستش.

باید علامت سوال بزاری و مقدارش قسمت دوم که از Array String  استفاده شده باید قرار بدید.

خالا اگه تنونستید درستش کنید تا فردا انشاءالله بنده درستش میکنم واستون

 

خیلی ممنونم ولی خدایش چند روزه که گیرشم لطفا برام درستش کن دست طلا

لینک ارسال
به اشتراک گذاری در سایت های دیگر

شما واضح بگو چی میخوای من از کوئری شما کاملا گیج شدم

 

خوب من میخوام به این کد یه شرط اضافه کنم

cur1=s.ExecQuery2("SELECT * FROM tbl1 OFFSET LIMIT ?,?",Array As String(TenRecordPlus,5))

باید چیکار کنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...