PDA

View Full Version : سوال: چگونگی جستجو در دیتابیس با استفاده از VB.NET



wolf102
چهارشنبه 04 اسفند 1389, 16:49 عصر
با سلام
من یه برنامه دارم که اطلاعات افراد رو درون دیتا بیسش سیو میکنه و حجم اطلاعاتش زیاده حالا من یه متد میخوام که مثلا با وارد کردن شماره پرسنلی یه فرد و مثلا کلیک روی یه دکمه تمام اطلاعاتشو نشون بده در حقیقت تابع سرچ میخوام.
ممنون میشم کمک کنید.

mahbobehshab
چهارشنبه 04 اسفند 1389, 19:43 عصر
سلام
رشته ای که با اون میتونی جستجو کنی اینه:
select * from table1 where code="+textbox1.text+"

اگه دنباله ی کدرو بلد نبودی وکاملشو خواستی ما در خدمتیم.
موفق باشید.

shadi khanum
پنج شنبه 05 اسفند 1389, 00:33 صبح
سلام
رشته ای که با اون میتونی جستجو کنی اینه:
select * from table1 where code="+textbox1.text+"

اگه دنباله ی کدرو بلد نبودی وکاملشو خواستی ما در خدمتیم.
موفق باشید.

البته این مشکل SQL Injection داره!

bzdesign
پنج شنبه 05 اسفند 1389, 03:24 صبح
خب دوستان میشه لطفا کد کاملشو بگید ؟؟؟؟
این واقعا چند وقته مشکله منم هست ولی راه حل منطقی ای واسش پیدا نکردم
اگه واقعا میدونید بگید خواهشا:گیج:
حتی اگه کدش با datagride هم بلدید بگید

shadi khanum
جمعه 06 اسفند 1389, 13:37 عصر
ببین تابع Search که همون چیزی که گفته شد. یعنی باید یه دستور Select داشته باشی که بر اساس شماره پرسنلی Search کنه. منتها نوشتنش به اون شکلی که گفته شد مشکل امنیتی داره. بهتره که همین دستور رو با پارامتر اجرا کنی یا تو یه function SQL بنویسی
CREATE FUNCTION dbo.Search (@Code int)
RETURNS table
AS
return ( SELECT * FROM tbl_Persons where pId= @code)

wolf102
جمعه 06 اسفند 1389, 14:04 عصر
میشه لطفا کدشو کامل بگین؟مرسی
سلام
رشته ای که با اون میتونی جستجو کنی اینه:
select * from table1 where code="+textbox1.text+"

اگه دنباله ی کدرو بلد نبودی وکاملشو خواستی ما در خدمتیم.
موفق باشید.

wolf102
جمعه 06 اسفند 1389, 14:09 عصر
دوست عزیز میشه واضحتر بگین یا کدشو کامل بذارین؟ با وی بی مینویسم
ببین تابع Search که همون چیزی که گفته شد. یعنی باید یه دستور Select داشته باشی که بر اساس شماره پرسنلی Search کنه. منتها نوشتنش به اون شکلی که گفته شد مشکل امنیتی داره. بهتره که همین دستور رو با پارامتر اجرا کنی یا تو یه function SQL بنویسی
CREATE FUNCTION dbo.Search (@Code int)
RETURNS table
AS
return ( SELECT * FROM tbl_Persons where pId= @code)

wolf102
جمعه 06 اسفند 1389, 16:19 عصر
people please help me this god damn method drive me crazy

alimanam
شنبه 07 اسفند 1389, 14:01 عصر
با سلام

همان طور که دوستمون فرمودن برای اینکه مسلئه SQL Injection پیش نیاد و امنیت رو رعایت کرده باشیم باید از روش های بهتری استفاده کرد البته به جز روش های معمول میشه کاری کرد که کاربر نتونه هر رشته ایی رو در Textbox جستچو وارد کنه تا مشکل SQL Injection پیش نیاد . در پروژه ضمیمه شده من از روش معمول پارامتر استفاده کردم .

موفق باشید ./

vahab2010
شنبه 07 اسفند 1389, 14:57 عصر
روش بالا هم با vb هستش فقط با استفاده از متغيره اگه بدون متغير و معمولي بخواي اينه


"+ad.SelectCommand.CommandText = select * from persone where code="+textbox1.text

Dim ds As New DataSet
("ad.Fill(ds, "k
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = ds
"DataGridView1.DataMember = "k

wolf102
یک شنبه 08 اسفند 1389, 00:53 صبح
دوست عزیز ممنون از راهنماییت مشکل کم کم داره حل میشه فقط میشه لطفا Kو خط اول رو توضیح بدین؟مرسیتم
روش بالا هم با vb هستش فقط با استفاده از متغيره اگه بدون متغير و معمولي بخواي اينه


"+ad.SelectCommand.CommandText = select * from persone where code="+textbox1.text

Dim ds AsNew DataSet
("ad.Fill(ds, "k
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = ds
"DataGridView1.DataMember = "k

shadi khanum
سه شنبه 10 اسفند 1389, 00:09 صبح
اون k یه اسم دلخواه که خودت میذاری ، یعنی خروجی اون دستور select که تو commandtext نوشته شده توی دیتاست ds ، به اسم جدول k ریخته بشه!
یعنی الان بعد از اجرای این دستور یه دیتاست داری به اسم ds که یه جدول توشه به اسم k که لیست افرادی که کدشون برابر textbox1.text توی اون(با همه ویژگی ها)

wolf102
چهارشنبه 11 اسفند 1389, 00:58 صبح
عزیز همین کارا که گفتی رو انجام دادم ولی باز ارور میده کدو میذارم یه نگاش کن ببین چشه
اون k یه اسم دلخواه که خودت میذاری ، یعنی خروجی اون دستور select که تو commandtext نوشته شده توی دیتاست ds ، به اسم جدول k ریخته بشه!
یعنی الان بعد از اجرای این دستور یه دیتاست داری به اسم ds که یه جدول توشه به اسم k که لیست افرادی که کدشون برابر textbox1.text توی اون(با همه ویژگی ها)