رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

  • مرجع پاسخگویی
  • تولید آموزش
  • سفارش پروژه

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

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


  • 0
KMOHAMMAD

راهنمایی در فراخوانی دیتابیس بر اساس دستور between sql

سوال

KMOHAMMAD    9

کاربر عادی

این جدول دیتابیس اولیه من هست
Capture.JPG

من سه تا اکتویتی دارم داخل برنامه
main , company , info
اکتویتی main قراره  چند دکمه باشه که متن  هست نام شرکت خودرو ساز :حالا یا دستی وارد میشه  یا از دیتابیس ستون com  میگیریم (هر کدام راحتر بود)ولی دکمه بودن در اکتویتی اول قطعی هست
در اکتویتی دوم: قراره ستون هایcompany , information داده هاش درمولتی پنل نمایش داده بشه و در 

اکتویتی سوم هم متناسب با کلیک بر روی هر کدام از ایتم های مولتی پنل قرار ستون هایcar , color , tahvilنمایش داده بشه
مشکلی که  من دارم: نمیدونم توی اکتویتی اول  چطوری به باتون بگم که وقتی مثلا روی گروه خودرو سازی سایپا کلیک شد بیاد و ایدی های 0 تا 3 را در اکتویتی دوم نشون بدهع و البته همین قضیه برای باتون دوم که مربوط به ایران خودرو هست
(توی اکتویتی دوم هم فقط 2 تا دکمه هست،یکی برای سایپا و دیگری برای ایران خودرو)

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


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

15 پاسخ به این سوال تا کنون داده شده است

پست های پیشنهاد شده

  • 0
sbr    227

کاربر رو به رشد

در 3 دقیقه قبل، KMOHAMMAD گفته است :

توی اکتویتی دوم دستور کوئری اینجوری باید باشه؟؟؟؟؟
curs= Main.sql.ExecQuery("SELECT * FROM tbcar WHERE id="&Main.startid&Main.endid) 
 

curs= Main.sql.ExecQuery("SELECT * FROM tbcar WHERE id BETWEEN "&"'"&Main.startid&"'"&" AND "&"'"&Main.endid&"'")

 

  • تشکر 1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
peyman128    18

کاربر عادی

سلام. چون اطلاعاتی که میدید پیش فرضه و کاربر توش دست نمی بره، می تونید یه شرط به کد فراخوانی دیتابیستون اضافه کنید. مثلا:

SQL.ExecQuery2("SELECT * FROM tbl WHERE id>? AND id<?",Array As Object(0,4))

کد بالا تمام آیتم هایی که آی دیشون از 1 تا 3 هست رو میگیره

  • پسندیدن 1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
sbr    227

کاربر رو به رشد

در 3 ساعت قبل، KMOHAMMAD گفته است :

این جدول دیتابیس اولیه من هست
Capture.JPG

من سه تا اکتویتی دارم داخل برنامه
main , company , info
اکتویتی main قراره  چند دکمه باشه که متن  هست نام شرکت خودرو ساز :حالا یا دستی وارد میشه  یا از دیتابیس ستون com  میگیریم (هر کدام راحتر بود)ولی دکمه بودن در اکتویتی اول قطعی هست
در اکتویتی دوم: قراره ستون هایcompany , information داده هاش درمولتی پنل نمایش داده بشه و در 

اکتویتی سوم هم متناسب با کلیک بر روی هر کدام از ایتم های مولتی پنل قرار ستون هایcar , color , tahvilنمایش داده بشه
مشکلی که  من دارم: نمیدونم توی اکتویتی اول  چطوری به باتون بگم که وقتی مثلا روی گروه خودرو سازی سایپا کلیک شد بیاد و ایدی های 0 تا 3 را در اکتویتی دوم نشون بدهع و البته همین قضیه برای باتون دوم که مربوط به ایران خودرو هست
(توی اکتویتی دوم هم فقط 2 تا دکمه هست،یکی برای سایپا و دیگری برای ایران خودرو)

سلام دوست عزیز

ببینید برای موردی که شما مد نظرتون هست ، اینکه بگید از آی دی 0 تا 3 رو برای من بگیر به نظرم روش غیر استانداردی هست 

چون اگه شما یه مورد دیگه از گروه خودروسازی سایپا توی ردیف 8 شما  داشتی چکار میکردی ؟؟؟

به نظر من بیاید یه ستون دیگه به دیتابیستون اضافه کنید و واسه هر شرکت یه کد بزارید  مثلا سایپا sp یا ایران خودرو ikh  یا ...

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

"select * from tbl where Code = '" & code & "'"

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

  • پسندیدن 1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
KMOHAMMAD    9

کاربر عادی

نه  فکر کنم متوجه مسئله من نشدید یا من بد گفتم
من در اکتویتی اول خودم   فعلا دو دکمه گذاشتم 
دکمه 1: گروه خودرو سازی سایپا

دکمه 2:گروه خودرو سازی ایران خودرو
بعد ش هم امدم در رویداد کلیک دکمه 1 نوشتم که 
curs=sql.ExecQuery("SELECT * FROM tbcar WHERE id BETWEEN 0 AND 3")
و در رویداد کلیک دکمه  نوشتم که :

curs=sql.ExecQuery("SELECT * FROM tbcar WHERE id BETWEEN 4 AND 7")
کدهای کوئری هم د رنویکت تست گرفتم درست کار میکنه
منتها نمیدونم  در همین رویداد دکمه های 1و 2 
1- پوزیشن را چطوری باید بنویسیم؟؟
2- از آنجا که قرار با کلیک بر روی هر دکمه ،در اکتویتی دوم متناسب با اون تعداد ایدی ها مد نظر در دستور کوئری که در رویداد کلیک دکمه های نوشته شده ،در حلقه فوری که در اکتویتی دوم ایجاد شده ستون company, information فراخوانی و در مولتی پنل لود  بشه

3- از اونجائیکه که قراره همه ایدی های داخل دیتابیس من در همون مولتی پنل دوم بیاد و company , informaionرا نشون داده بشه باید یه چیزی باشه که بشه برای هر رویداد کلیک دکمه اون را گذاشت

1.JPG2.JPG

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
KMOHAMMAD    9

کاربر عادی

در 10 دقیقه قبل، sbr گفته است :

سلام دوست عزیز

ببینید برای موردی که شما مد نظرتون هست ، اینکه بگید از آی دی 0 تا 3 رو برای من بگیر به نظرم روش غیر استانداردی هست 

چون اگه شما یه مورد دیگه از گروه خودروسازی سایپا توی ردیف 8 شما  داشتی چکار میکردی ؟؟؟

به نظر من بیاید یه ستون دیگه به دیتابیستون اضافه کنید و واسه هر شرکت یه کد بزارید  مثلا سایپا sp یا ایران خودرو ikh  یا ...

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


"select * from tbl where Code = '" & code & "'"

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

نه مواردی که در دیتابیس گذاشتم تغییر ناپذیر هست
یعنی اگر برای سایپا 3 مورد گذاشتم اینها 3 مورد خواهند ماند بدون کم وکاستو ایضا برای ایران خودرو
امکان داره بخواهم محتوی دیتابیس را ویرایش کنم ولی ستون ها  و رکوردها همین قدر بیشتر نخواهد شد و تعداد هم تغییر نخواهد کرد

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
sbr    227

کاربر رو به رشد

در 22 دقیقه قبل، KMOHAMMAD گفته است :

نه  فکر کنم متوجه مسئله من نشدید یا من بد گفتم
من در اکتویتی اول خودم   فعلا دو دکمه گذاشتم 
دکمه 1: گروه خودرو سازی سایپا

دکمه 2:گروه خودرو سازی ایران خودرو
بعد ش هم امدم در رویداد کلیک دکمه 1 نوشتم که 
curs=sql.ExecQuery("SELECT * FROM tbcar WHERE id BETWEEN 0 AND 3")
و در رویداد کلیک دکمه  نوشتم که :

curs=sql.ExecQuery("SELECT * FROM tbcar WHERE id BETWEEN 4 AND 7")
کدهای کوئری هم د رنویکت تست گرفتم درست کار میکنه
منتها نمیدونم  در همین رویداد دکمه های 1و 2 
1- پوزیشن را چطوری باید بنویسیم؟؟
2- از آنجا که قرار با کلیک بر روی هر دکمه ،در اکتویتی دوم متناسب با اون تعداد ایدی ها مد نظر در دستور کوئری که در رویداد کلیک دکمه های نوشته شده ،در حلقه فوری که در اکتویتی دوم ایجاد شده ستون company, information فراخوانی و در مولتی پنل لود  بشه

3- از اونجائیکه که قراره همه ایدی های داخل دیتابیس من در همون مولتی پنل دوم بیاد و company , informaionرا نشون داده بشه باید یه چیزی باشه که بشه برای هر رویداد کلیک دکمه اون را گذاشت

 

توی عکس دوم مقدار پوزیشن رو درست قرار دادید

اما اونجا که نوشتید  ???.Main   توی اکتیویتی Main دو تا متغیر سراسری توی Process_Globals تعریف کنید یکیش به عنوان ابتدای آیدی هاتون و دومی انتهای آیدی هاتون مثل  start و  end

توی باتن های اکتیویتی Main برای مثلا سایپا مقدار start  رو بزارید 0 و مقدار end  رو بزارید 3

اکتیویتی دوم هم به خاطر سراسری بود متغیرهای start و end  ، قابل دسترسی خواهند بود 

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

توی همون اکتویتی دوم فراخوانی میکنید

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

 

 

  • پسندیدن 1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
KMOHAMMAD    9

کاربر عادی

در 11 دقیقه قبل، sbr گفته است :

توی عکس دوم مقدار پوزیشن رو درست قرار دادید

اما اونجا که نوشتید  ???.Main   توی اکتیویتی Main دو تا متغیر سراسری توی Process_Globals تعریف کنید یکیش به عنوان ابتدای آیدی هاتون و دومی انتهای آیدی هاتون مثل  start و  end

توی باتن های اکتیویتی Main برای مثلا سایپا مقدار start  رو بزارید 0 و مقدار end  رو بزارید 3

اکتیویتی دوم هم به خاطر سراسری بود متغیرهای start و end  ، قابل دسترسی خواهند بود

تشکر
در رویداد کلیک  باتون 1 در اکتویتی main)     تصویر
اون پوزیشن را برابر با صفر بدم یا؟؟؟
تصویر  اکتویتی main بعداز اعمال تغییرات :

ad.JPG

تصویر  اکتویتی company بعداز اعمال تغییرات :

asfavad2.JPG

درست نوشتم؟؟

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
sbr    227

کاربر رو به رشد

در 8 دقیقه قبل، KMOHAMMAD گفته است :

تشکر
در رویداد کلیک  باتون 1
اون پوزیشن را برابر با صفر بدم یا؟؟؟

 

نه عزیزم توی عکسهایی که گذاشتی مقدار پوزیشن توی عکس دوم درسته

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

توی اکتیویتی دوم لود میکنی دیگه

Sub Button1_Click
	srart = 0
	endd = 3
	' استارت اکتیوتی دوم
End Sub

Sub Button2_Click
	
	srart = 4
	endd = 7
	' استارت اکتیوتی دوم
End Sub

 

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
KMOHAMMAD    9

کاربر عادی

در 4 دقیقه قبل، sbr گفته است :

 

نه عزیزم توی عکسهایی که گذاشتی مقدار پوزیشن توی عکس دوم درسته

 


Sub Button1_Click
	srart = 0
	endd = 3
	' استارت اکتیوتی دوم
End Sub

Sub Button2_Click
	
	srart = 4
	endd = 7
	' استارت اکتیوتی دوم
End Sub

 

دستور کوئری در اکتویتی  دوم:
curs= Main.sql.ExecQuery("SELECT * FROM tbcar WHERE id="&Main.startid&Main.endid) 
درسته؟؟

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
sbr    227

کاربر رو به رشد

در 2 دقیقه قبل، KMOHAMMAD گفته است :

یعنی نیازی به دستور کوئری نیست ؟؟
درهیچ جای  اکتویتی mainنیازی نیست دستوری کوئری را بنویسم؟؟

خیر هیچ نیازی نیست

چون این اکتیویتی چیزی رو نمایش نمیده

پس نیازی هم نداری چیزی رو فراخونی کنه

اکتیویتی دوم اطلاعات رو نمایش میده پس همون اکتیویتی دوم اطلاعات رو فراخونی میکنه و تموم

  • پسندیدن 1

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
KMOHAMMAD    9

کاربر عادی

در 10 دقیقه قبل، sbr گفته است :

خیر هیچ نیازی نیست

چون این اکتیویتی چیزی رو نمایش نمیده

پس نیازی هم نداری چیزی رو فراخونی کنه

اکتیویتی دوم اطلاعات رو نمایش میده پس همون اکتیویتی دوم اطلاعات رو فراخونی میکنه و تموم

توی اکتویتی دوم دستور کوئری اینجوری باید باشه؟؟؟؟؟
curs= Main.sql.ExecQuery("SELECT * FROM tbcar WHERE id="&Main.startid&Main.endid) 
 

اونوقت نباید دستور کوئری در اکتویتی کریت  که  نوشته شده تغییر پیدا کنه متناسب با اونstartid , endid??
تصویر:
Capture.JPG

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
KMOHAMMAD    9

کاربر عادی

در 10 دقیقه قبل، sbr گفته است :

curs= Main.sql.ExecQuery("SELECT * FROM tbcar WHERE id BETWEEN "&"'"&Main.startid&"'"&" AND "&"'"&Main.endid&"'")

 

تشکر
ممنون

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

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
KMOHAMMAD    9

کاربر عادی

یه سوال درباره پس زمینه مولتی پنل
عکسی که میخواهیم در پس زمینه  مولت یپنل باشه باید در کدام ویو مولتی پنل قرار بگیره
در
1- اسکرول ویو
2- در اکتویتی که پنل داخلش هست
3- در پنلی که داخلش لیبل هامون گذاشتیم
4- یا در پنلی که جهت فراخوانی لایوت پنل خودمون تعریف میکنیم
من هرجا میذارم بازهم یه کدوم از ویوها ناقصه میشه
Capture.JPG
میخام همین عکسی که به اسکرول ویو دادم هم پس زمینه لیبل ها باشه
ولی نمیشه

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
sbr    227

کاربر رو به رشد

در 4 ساعت قبل، KMOHAMMAD گفته است :

یه سوال درباره پس زمینه مولتی پنل
عکسی که میخواهیم در پس زمینه  مولت یپنل باشه باید در کدام ویو مولتی پنل قرار بگیره
در
1- اسکرول ویو
2- در اکتویتی که پنل داخلش هست
3- در پنلی که داخلش لیبل هامون گذاشتیم
4- یا در پنلی که جهت فراخوانی لایوت پنل خودمون تعریف میکنیم
من هرجا میذارم بازهم یه کدوم از ویوها ناقصه میشه
Capture.JPG
میخام همین عکسی که به اسکرول ویو دادم هم پس زمینه لیبل ها باشه
ولی نمیشه

 

سلام دوست عزیز

برای پس زمینه مولتی پنل از اونجایی که ارتفاع پنل درونی اسکرول ویوو با توجه به ارتفاع تموم آیتم های شماست پس مکان مناسبی برای پسزمینه نیست

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

ScrollView1.Color= Colors.Transparent
		ScrollView1.Panel.Color = Colors.Transparent
		p.Color = Colors.Transparent     ' پنلی که لایوت رو لود میکنه

 

خب حالا اگه مولتی پنل شما تمام صفحه هست عکس مورد نظرتون رو بزارید پس زمینه اکتیویتی

اگرمولتی پنل شما تمام صفحه نیست بیاید دقیقا یه پنل به اندازه اسکرول ویوو بسازید و اسکرول ویوو رو بزارید توش یعنی پرنت اسکرول ویوو بشه پنل

خب حالا پس زمینه پنل رو عکس مورد نظر بزارید

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...