PDA

View Full Version : جستجو



parhamfar
سه شنبه 14 فروردین 1386, 07:33 صبح
سلام
اکسس را به سی شارپ متصل کردم .چگونه می توانم با وارد کرد textbox یک داده را بگیرم و با زدن یک دکمه از تو دیتا بیس سطر متنا ظرش را بیرون بکشم لطفا کامل توضیح دهید

cache_overflow
سه شنبه 14 فروردین 1386, 14:54 عصر
for(i=0;i<dataset.table.rows.count;i++)
{
if(textbox1.text==dataset.table[i].Idfield.ToString())
{
textbox2.text=dataset.table[i].namefield.ToString();
}
}

Alireza_Salehi
سه شنبه 14 فروردین 1386, 18:45 عصر
for(i=0;i<dataset.table.rows.count;i++)

{
if(textbox1.text==dataset.table[i].Idfield.ToString())
{
textbox2.text=dataset.table[i].namefield.ToString();
}
}

SQL رو ساختن واسه این که واسه جستجو از حلقه استفاده نکنیم، اگه قرار بود از حلقه استفاده کنیم که دیگه چه نیازی به دیتابیس بود ، یه فایل ترتیبی کافی بود!


با استفاده از عملگر Like یا تابع StrComp یا حتی عملگر = در قسمت Where (بسته به کاربردتون ببینید کدوم کارتون رو راه میندازه) یک Query بنویسید و با یک DataReader نتیجه اون رو استخراج کنید، خیلی خیلی سریع تر به نتیجه میرسید.

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

iman_s52
سه شنبه 14 فروردین 1386, 18:48 عصر
البته ای تو روش هم دائما بایستی Connection رو باز و بسته کرد که اینم بسته به حجم دیتا بیس خیلی طول میکشه .

Alireza_Salehi
سه شنبه 14 فروردین 1386, 20:01 عصر
البته ای تو روش هم دائما بایستی Connection رو باز و بسته کرد که اینم بسته به حجم دیتا بیس خیلی طول میکشه .

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

بدون شک اجرای یک Query و دیدن نتیجه اون با در نظر گرفتن تمام هزینه هاش سریع تر از چک کردن دونه دونه در یک حلقه است!

iman_s52
سه شنبه 14 فروردین 1386, 20:05 عصر
وقتی واسه اینکار ازDataView و با فیلتر کردن حل میشه لزومی نمی بینم که از sqlDataReader استفاده بشه

Alireza_Salehi
سه شنبه 14 فروردین 1386, 20:45 عصر
وقتی واسه اینکار ازDataView و با فیلتر کردن حل میشه لزومی نمی بینم که از sqlDataReader استفاده بشه
اون دیتا ویو هم کانکشن لازم داره، فقط شما چون کانکشنش رو نمیبینی کارکردن با هاش راحت تره ، راه های زیادی واسه رسیدن به این هدف هست بسته به شرایط باید روش رو انتخاب کرد.

iman_s52
چهارشنبه 15 فروردین 1386, 20:23 عصر
ولی من کاننکشن رو می بندم و با هاش کار می کنم.

Alireza_Salehi
چهارشنبه 15 فروردین 1386, 21:18 عصر
فقط شما نیستی که این کارو میکنی، همه همین کارو می کنند ، اصلا ماهیت کار با دیتابیس در دات نت به صورت Disconnected هستش!

Behrouz_Rad
پنج شنبه 16 فروردین 1386, 00:23 صبح
فقط شما نیستی که این کارو میکنی، همه همین کارو می کنند ، اصلا ماهیت کار با دیتابیس در دات نت به صورت Disconnected هستش!
کی گفته؟؟!!!

Alireza_Salehi
پنج شنبه 16 فروردین 1386, 07:36 صبح
اگر از DataReader استفاده بشه Connected هستش و اگر از DataSet استفاده بشه Disconnected !

البته وقتی شما کارهارو توی دیتاست انجام میدی میشه disconnected و وقتی کانکشن رو باز میکنی و کار هارو تو دیتابیس انجام میدی و بعد کانکشن رو می بندی میشه Connected !

مگه غیر از اینه؟

Behrouz_Rad
پنج شنبه 16 فروردین 1386, 10:23 صبح
اگر از DataReader استفاده بشه Connected هستش و اگر از DataSet استفاده بشه Disconnected !

البته وقتی شما کارهارو توی دیتاست انجام میدی میشه disconnected و وقتی کانکشن رو باز میکنی و کار هارو تو دیتابیس انجام میدی و بعد کانکشن رو می بندی میشه Connected !

مگه غیر از اینه؟
حالا درسته!

در پست قبلیت گفتی:

فقط شما نیستی که این کارو میکنی، همه همین کارو می کنند ، اصلا ماهیت کار با دیتابیس در دات نت به صورت Disconnected هستش!
که این درست نیست!

موفق باشید.

Alireza_Salehi
پنج شنبه 16 فروردین 1386, 12:17 عصر
disconnected رو در مورد پست 2 گفتم ، چون از DataTable استفاده کرده بود ، فقط باید به جای در دات نت می گفتم در DataTable یا DataSet ! :خجالت: :اشتباه: