PDA

View Full Version : دستیابی به مقادیری که Select برمی گردونه



shima2006
چهارشنبه 21 مرداد 1388, 23:08 عصر
سلام
من یک دستور Select نوشتم که دو سه تا فیلد رو برمی گردونه حالا نمی دونم چطوری میتونم به این فیلدها دسترسی پیدا کنم .
در ضمن من نمیخوام از چیزهایی مثل دیتا گریدویو استفاده کنم بلکه میخوام مقادیر بازیابی شده رو تویه متغیر بریزم ، آیا این کار امکان پذیره؟؟؟




int idam = (int)com.ExecuteScalar();l

majid325 در تاپیک قبلی گفتید از این روش مقدار فیلد رو برگردونم ،الان که بیش از یک فیلد دارم ، می تونم از روش مشابهی استفاده کنم؟

majid325
پنج شنبه 22 مرداد 1388, 01:56 صبح
DataRow row = (DataRow)new SqlCommand("Sql command", Cnn).ExecuteScalar();

shima2006
پنج شنبه 22 مرداد 1388, 08:59 صبح
خب این دستور خیلی خوبه سطر مورد نظر رو از دیتابیس برام میاره ولی چطوری میتونم به فیلد خاصی از این سطر دسترسی پیدا کنم؟
یعنی چطور باید به فیلدهای این رکورد جداگانه دسترسی پیدا کنم؟ نمیشه هر فیلد رو تو یه متغیر بریزم؟

Mohsen229266
پنج شنبه 22 مرداد 1388, 10:15 صبح
سلام دوست من از SqlDataReader استفاده کنید

mn_zandy63
پنج شنبه 22 مرداد 1388, 20:38 عصر
DataRow row = (DataRow)new SqlCommand("Sql command", Cnn).ExecuteScalar();

البته مطمئن نیستم ExecuteScalar بهت جواب درستی رو برگردونه. باید همونطور که دوستمون Mohsen229266 گفتن از SQLDataReader استفاده کنی یا از یک DataAdapter.
در هر صورت بعد از اینکه یک سطر رو دریافت کردی٬ میتونی به راحتی به تک تک ستونهاش دسترسی داشته باشی دیگه. cell های اون سطر میشه دیتاهایی که برگردونده select ت

shima2006
پنج شنبه 22 مرداد 1388, 23:38 عصر
از SQLDATAREADER استفاده کردم
متشکرم دوستان

علیرضا مداح
جمعه 23 مرداد 1388, 14:50 عصر
سلام دوست عزیز،
ExecuteScalar تنها "یک" مقدار را بر می گرداند و آن هم مقدار "اولین" ستون مربوط به "اولین" سطر بازیابی شده از دیتابیس می باشد،
بسته به نیاز خود می توانید از DataSet یا IDataReader استفاده نمایید،/