PDA

View Full Version : سوال: بر گرداندن چند مقدار از یک پروسیجر در sql و استفاده از آن در asp.net



sepehrforough
دوشنبه 15 اردیبهشت 1393, 21:07 عصر
سلام ، من یه جدول دارم که دو تا کلید خارجی داره ، به نام های UserId و PageActionId ، حالا میخوام تو پروسیجرم ، تو sql با دادن یک مقدار برای UserId مقادیر مناظر ذخیره شده برای اون رو در بیارم ،و از اون مقادیر تو کد های asp.net استفاده کنم ، میشه راهنمایی کنید؟

sepehrforough
دوشنبه 15 اردیبهشت 1393, 22:11 عصر
خواهشا جواب بدید

meisam12
دوشنبه 15 اردیبهشت 1393, 22:33 عصر
لطفاً سوالتان را واضح تر بیان کنید

sepehrforough
دوشنبه 15 اردیبهشت 1393, 22:43 عصر
ببینید ، من یه جدول دارم به شکل زیر

118676

حالا وقتی بر اساس userId مقادیر مختلفی برای pageActionId وجود داره مثلا اینججاuserId=18 هستش ، pageactionId دو مقدار داره ، حالا من یه پروسیجر نوشتم به صورت زیر



create proc USP_GetpageActionId
@UserId int
as
select PageAction_Id from UserPageAction where Usser_Id=@UserId


که همون دو مقدار رو میده بهم ، حالا میخوام تو خوده دستورات asp.net به این دو مقدار یا هرچند مدار دسترسی داشته باشم ، چون با تک تک مقادیر کار دارم ، به ظرتون چی کار باید بکنم
باید نتیجه حاصل از اجرای پروسیحر بالا رو بریزم تو دیتا تیبل ؟ میشه راهنماییم کنید؟

meisam12
دوشنبه 15 اردیبهشت 1393, 22:58 عصر
ابتدا خروجی پروسیجر مربوطت را در یک نوع DataTable می ریزی:

SqlCommand command = new SqlCommand("storedProcName", Connection);
command.CommandType = CommandType.StoredProcedure;
SqlDataAdapter sqlDA = new SqlDataAdapter();
DataSet dataSet=new DataSet();
sqlDA.SelectCommand = command;
sqlDA.Fill(dataSet, "table");

DataTable tblResult=ds.Tables["table"];


سپس هر جا که خواستی از ستون هایش استفاده کنی کافیست ابتدا تمام سطرها را پیمایش کنی و بعد به ستون مورد نظرت دسترسی پیدا کنی:

foreach(DataRow row in tblResult.Rows)
{
//row["ColumnName"];
int pageActionId=Convert.ToInt32(row["PageAction_Id"].Tostring());
}