PDA

View Full Version : سوال: مقایسه فیلدی در بانک اطلاعاتی با textbox



tommycena
یک شنبه 12 اردیبهشت 1389, 16:03 عصر
با سلام مجدد
می خوام فیلدی در بانک اطلاعاتی (مثلا شماره دانشجویی) را با textbox مقایسه کنم که اگه مقدار textbox مساوی با فیلد مورد نظر بود با زدن دکمه ورود به سیستم وارد بشم.

Jean Reno
یک شنبه 12 اردیبهشت 1389, 16:28 عصر
چندین روش وجود داره روش اول این که تمامی فیلدهای کد مورد نظرت رو توی یک دیتاست بریزی بعد توی یک حلقه for اون رو مقایسه کنی



bool Find = false;

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["Code"].ToString() == textbox1.Text)
{
Find = true;
break;
}
}

if (Find)
{
MessageBox.Show("یافت شد");
}


که روش زیاد جالبی نیست

روش بهتر این که توی دستور SQL مقدار TextBox رو قرار بدی



string Select_Str = "select Code from TableName where code="+text1.Text;

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



if(ds.Tables[0].Rows.Count>0)

sds1920
یک شنبه 12 اردیبهشت 1389, 16:43 عصر
اين كه خيلي بدتر شد عزيز دلم .
شما هميشه اينو به خاطر بسپار كه DBMS هر چقدر هم كه خوب باشه بايد يك سري اطلاعات مثل ايندكس ها يا فيلدها يا ... رو براي اجراي Query توي Ram لود كنه كه اين خودش كار زمان بريه و بعد از اون به تقاضاي شما پاسخ بده.
به نظر من روش اول از نظر سرعت بهتر عمل مي كنه ولي اگه مي خواي بهتر باشه مي توني روي فيلدهات توي ديتا گريد فيلتر بگذاري.
البته اينم بايد بگم كه اين دو روش فقط زماني به درد مي خوره كه دادهات رو قبلا تو يك جدول لود كرده باشي و گرنه همون روش دومي كه دوستمون jean reno گفت درسته.