PDA

View Full Version : مقایسه object و string در #C



hassan1365
شنبه 12 خرداد 1386, 10:51 صبح
سلام
چطوری میشه یه متغیر از نوع Object رو با یه مقدار string مقایسه کرد.
(فکر کنم بیشتر راههای مقایسه رو تست کردم ولی جواب نداد!)

مثلا این کد رو در نظر بگیرید:



if ((isadmin.ToString == "1") && (usercitycode.ToString == "1"))
{}


البته isadmin,usercitycode فیلدهای nvarchar هستند که توسط یه دستور SQL از بانک میان.
اینم کدی هست که اونا رو (isadmin,usercitycode) میاره:



SqlCommand SqlCommand2 = new SqlCommand(string.Format("SELECT isadmin,usercitycode FROM UserManagement WHERE (UserName = N'{0}') AND (Password = N'{1}')", TxtUserName.Text, TxtPassWord.Text), SqlConnection);
SqlConnection.Open();
String isadmin = (SqlCommand2.ExecuteScalar() as String);
String usercitycode = (SqlCommand2.ExecuteScalar() as String);


با اجرای این کد این خطا رو میده:


Compiler Error Message: CS0019: Operator '==' cannot be applied to operands of type 'method group' and 'string'


نظر دوستان در این رابطه چیه؟

موفق باشید

Alireza_Salehi
شنبه 12 خرداد 1386, 11:56 صبح
1. ExecuteScalar فقط یک مقدار برمیگردونه و اون هم اولین فیلد از اولین رکورد خروجی دستور Select هستش ، و بقیه خروجی در نظر گرفته نمی شود!
اگر می خواهید چند خروجی داشته باشید از DataReader استفاده کنید.

2. وقتی یک متغییری String هستش که دوباره ToString نمی کنند!

hassan1365
شنبه 12 خرداد 1386, 17:26 عصر
سلام
از راهنمایتون ممنونم.

موفق باشید

محمد میرمصطفی
شنبه 12 خرداد 1386, 23:08 عصر
دوست من شما دارید از یه متد به نام ()ToString استفاده می کنید نه از یه property. مسلمه که باید اخر اسم متد از پرانتز () استفاده کنید.