PDA

View Full Version : مشکل



farhadyoosefi
چهارشنبه 09 اسفند 1385, 19:56 عصر
سلام
من دارم تو tableی به اسم, person search می کنم, که این طوری کار می کنه:
1)با توجه به اطلاعاتی که کاربر وارد می کنه , primary key رو پیدا می کنه و برمی گردونه.برای این کارم ا ز sqlcommandو
Datareader استفاده می کنم
فیلد primary key من id نام داره که این جوری نشونش می دم


() Do While drd.Read
MsgBox(drd("id").ToString)
Loop
.و id بدون هیچ مشکلی نشون داده می شه- id از نوع int تعریف شده- drdهم , datareader هستش
2) حالا من با توجه به primary key ی که دارم می خوام سطرم رو برگردونم و تو یه datagridview نشون بدم.برای این کارم یه procedure تعریف کردم که id رو به عنوان ورودی می گیره و کل سطر رو بر می گردونه .برای این قسمت هم از dataadapter استفاده می کنم که اینجوری تعریفش کردم:


Dim a as int=drd(“id”)
Dim da as sqldataadapter
Da=new sqldataadapter(“select * from person where id=a” ,cn)

وقتی به جای a یه مقدار ی مثل 33 رو می دم برنامه بدون مشکل اجرا میشه, وسطری که id برابر با 33 هستش تو datadrid نشون داده می شه اما وقتی a برابر مقدارش در بالاست برنامه error می گیره.
خواهشن به من بگین اشکال کارمن کجاست؟

ghafoori
چهارشنبه 09 اسفند 1385, 20:21 عصر
دوست عزیز فکر کنم این کد کار شما را درست می کند


Da=new sqldataadapter(“select * from person where id="+a.tosrting,cn)

farhadyoosefi
چهارشنبه 09 اسفند 1385, 23:06 عصر
بابت راهنمایی ممنون ولی مشکل من حل نشد, من برنامم رو تو try , catch گذاشتم و فهمیدم با اینکه هم a وهم(" drd("id از نوع int هستند و زمان کامپایل errorگرفته نمی شه اما اشکال کار در ریختن (" drd("idدرون a هست و برنامه اونجا با مشکل مواجه می شه

Ner'zhul Arthas
پنج شنبه 10 اسفند 1385, 02:54 صبح
(" drd("id چی برمیگردونه؟
مثلا MsgBox(drd("id").ToString) چی نشون میده؟

farhadyoosefi
پنج شنبه 10 اسفند 1385, 07:58 صبح
مقدارid رو بر می گردونه, که از نوع integer هست.مثلا مقدار 33 رو برمی گردونه

Ner'zhul Arthas
پنج شنبه 10 اسفند 1385, 20:20 عصر
a = CInt((" drd("id)

این درستش میکنه؟

farhadyoosefi
پنج شنبه 10 اسفند 1385, 21:58 عصر
ممنون امتحان می کنم