با سلام مجدد
می خوام فیلدی در بانک اطلاعاتی (مثلا شماره دانشجویی) را با textbox مقایسه کنم که اگه مقدار textbox مساوی با فیلد مورد نظر بود با زدن دکمه ورود به سیستم وارد بشم.
با سلام مجدد
می خوام فیلدی در بانک اطلاعاتی (مثلا شماره دانشجویی) را با textbox مقایسه کنم که اگه مقدار textbox مساوی با فیلد مورد نظر بود با زدن دکمه ورود به سیستم وارد بشم.
چندین روش وجود داره روش اول این که تمامی فیلدهای کد مورد نظرت رو توی یک دیتاست بریزی بعد توی یک حلقه 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)
اين كه خيلي بدتر شد عزيز دلم .
شما هميشه اينو به خاطر بسپار كه DBMS هر چقدر هم كه خوب باشه بايد يك سري اطلاعات مثل ايندكس ها يا فيلدها يا ... رو براي اجراي Query توي Ram لود كنه كه اين خودش كار زمان بريه و بعد از اون به تقاضاي شما پاسخ بده.
به نظر من روش اول از نظر سرعت بهتر عمل مي كنه ولي اگه مي خواي بهتر باشه مي توني روي فيلدهات توي ديتا گريد فيلتر بگذاري.
البته اينم بايد بگم كه اين دو روش فقط زماني به درد مي خوره كه دادهات رو قبلا تو يك جدول لود كرده باشي و گرنه همون روش دومي كه دوستمون jean reno گفت درسته.
آخرین ویرایش به وسیله sds1920 : یک شنبه 12 اردیبهشت 1389 در 17:01 عصر