PDA

View Full Version : مشکل با کوری در C#?کوری پویا



boysilent
سه شنبه 23 خرداد 1391, 09:24 صبح
سلام دوستان عزیز من یه سوال دارم ؟
اونم اینه که چطوری میشه متغیر رو جایگزین نام فیلد پایگاه داده کرد که پویا باشه و ثابت نباشه؟
مثلا :

INT A=TEXTBOX1.TEXT;
STRING QUERY="SELECT * FROM TABLE1 WHERE COLUMSNAME=ID"


من میخوام بجای COLUMS NAMEیک متغیر A رو قرار بدم

boysilent
سه شنبه 23 خرداد 1391, 13:36 عصر
دوستان من میخوام بجای COLMSNAME متغیر A رو قرار بدم

alonemm
سه شنبه 23 خرداد 1391, 15:08 عصر
باسلام:

دوست عزیز:
آیا نام ستون شما یک عدد هست که از متغییر عددی استفاده میکنید؟ :متفکر:
برای جای گزاری مقدار یک متغییر در یک رشته میتونید مثل زیر عمل کنید:

INT A=TEXTBOX1.TEXT;
STRING QUERY="SELECT * FROM TABLE1 WHERE "+A.tostring()+"=ID"


اما یک نکته دیگه این هست که اگر میخواید از این رشته به عنوان یک کوئری در پایگاه داده استفاده کنید بهتره که برای جلوگیری از Sql Injection از پارامترها استفاده کنید.


cmd.CommandText = "SELECT * FROM Tags WHERE Name IN (@tag0,@tag1,@tag2,@tag3)"
cmd.Parameters["@tag0"] = "ruby"
cmd.Parameters["@tag1"] = "rails"
cmd.Parameters["@tag2"] = "scruffy"
cmd.Parameters["@tag3"] = "rubyonrails"