PDA

View Full Version : آموزش: جستجو در داخل پایگاه داده ای sql



123s0ran
سه شنبه 15 اسفند 1391, 20:07 عصر
با سلام دوستان عزیز و اساتید و مدیران محترم سایت و با عرض تشکر بخاطر مطالب مفید و سودمند سایت

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

خوب من قصد دارم اطلاعاتی که برای صدور یلیط هستش داخل یک بانک ذخیره کنم. و هر بار با ثبت جدید مثلا در شکل بالا با زدن دکمه ثبت اطلاعات ذخیره بشه و اون شماره صندلی قرمز بشه و دیگه برای ثبت در سایر بلیط های که در مقصد فعلی و ساعت جاری قابل ثبت نباشه. و این بستگی به جستجو داخل بانک اطلاعتی مثلا داخل یک رکورد مقصد برابر (مشهد) و ساعت حرکت برابر (12.30) و شماره صندلی برابر (25) باشه دیگه برای هیچ نفر دیگری بلیط صدور نکنه یا حد اقل ان بلیط های که یا رکورد های دارای مقصد مشهد و وساعت حرکت 12.30 هستن شماره صندلی انها قرمز بشود
اگر کمک کنید خیلی ممنون میشم.

zahedi121
چهارشنبه 16 اسفند 1391, 00:23 صبح
سلام
برای هر حرکت یک فیلد بگذارید ( مثلا حرکت ساعت 12:30 از تهران به مشهد شماره حرکتش 1000 باشه ) حالا در هنگام لود فرم و یا پس از فشار دادن کلید های ثبت - جدید - ویرایش تعریف کنید که tag همه کلیدهای صندلی بشه 0 و بعد در بانکتون جستجو کنه اگر برای برنامه حرکت فعلی هر صندلی اشغال شده رنگ زمینه کلید صندلی قرمز بشه و بعد هم tag اون کلید بشه 1 .
در رویداد کلیک کلیدهای صندلی هم تعریف کنید اگر tag برابر 1 بود کلیک نشه.
اگر شماره صندلی را هم از تکست باکس می گیره کنترل کنید که tag دکمه همنام صندلی اگر 1 هست مثلا متن تکست باکس پاک بشه.

دو تا پیشنهاد :
زیباتره که یک فرد بتونه چند صندلی را انتخاب کنه و اگر خواست اینکار را انجام بده یک زیر مجموعه براش باز بشه و اسم و فامیل و .. زیر مجموعه دریافت بشه . با شکلی که شما تعریف کردید برای هر نفر باید جدا ثبت نام کنند.
یک سری هم به ترمینال بزنید و مشکلات سیستم صدور بلیط را از اپراتور هاشون بپرسید ، خیلی وقتا یک کلید enter به جای tab برای اپراتور از صدتا کامپوننت زیبا سازی و .. مهمتره.

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

موفق باشید

123s0ran
چهارشنبه 16 اسفند 1391, 00:58 صبح
خیلی ممنون و مرسی و مشکل حل شد. اما چطور میشه با یک کوری داخال یک رکود دنبال سه فیلد گشت یا جستجو کرد؟ یعنی در یک جستجو دنبال یک رکوردی گشت که ساعت حرکت ان 13.20 . شهر مقصد ان تهران و اسم شهرام باشه؟
:لبخندساده:
من خودم از این کوری برای جستجوی یک فیلد خاص میگردم..


Try
If txtSearch.Text = String.Empty Then ReloadRecord() : Exit Sub
Dim sqlcmd As String = ""
Select Case ComboBox1.SelectedIndex
Case Is = 0 ' جستجو بر اساس کد
sqlcmd = "Select * from table1 where id =" & txtSearch.Text
Case Is = 1 ' جستجو بر اساس نام
sqlcmd = "Select * from table1 where fname like N'%" & txtSearch.Text & "%'"
Case Is = 2 ' جستجو بر اساس نام خانوادگی
sqlcmd = "Select * from table1 where lname like N'%" & txtSearch.Text & "%'"
Case Is = 3 'جستجو بر اساس ساعت
sqlcmd = "Select * from table1 where sat like N'%" & txtSearch.Text & "%'"
End Select
ad = New SqlDataAdapter(sqlcmd, cnnString)
dt = New DataTable
ad.Fill(dt)
dgv.DataSource = dt
Catch ex As Exception
MsgBox(Err.Description _
, MsgBoxStyle.Critical, "خطا هنگام جستجو")
End Try


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

123s0ran
چهارشنبه 16 اسفند 1391, 13:36 عصر
لطفا کمک کنید :ناراحت:

zahedi121
دوشنبه 21 اسفند 1391, 11:02 صبح
سلام
چند روزی نبودم ببخشید.
به این تاپیک (http://barnamenevis.org/showthread.php?385076-جستجوی-چند-شرطی-خاص-در-پایگاه-داده-با-اکسس) سربزنید انشاء الله حل میشه.