PDA

View Full Version : پرکردن DataGrid با استفاده از session و stored procedure



razeghaik1
یک شنبه 09 مهر 1391, 11:56 صبح
با عرض سلام و خسته نباشید خدمت هم انجمنی های عزیز
من یک فروشگاه دارم که کاربران وقتی login می کنند برای آنها sessionی با مفدار نام کاربری خودشان در سرور برایشان ساخته می شود.
در این فروشگاه من برای نمایش سبد خرید آنها از DataGrid استفاده می کنم.
حالا می خوام session (همان نام کاربری خریدار) رو به بانک اطلاعاتی بفرستم (session معادل فیلد un در جدول بانک اطلاعاتی)و در عوض با استفاده از اون session اطلاعات مربوط به سبد خرید هر کسی رو نمایش بدم.
البته من از stored procedure استفاده می کنم.
----------------------------------------
اینم یه شمایی از datagrid من:

93417
---------------------------------------
اینم یه نما از سبد خریدم در دیتابیس
93418
---------------------------------------

دوستان اگه لطف کنند منو راهنمایی کنند و بگن که چه جوری باید stored procedure و کد c# اون رو بنویسم خیلی ممنون می شم.

یه چیزایی هم خودم نوشتم اما ارور می ده و خیلی دستکاریش کردم اما جواب نداد ه اونم زیر میزارم:
asp:

public void basket_grid()
{
string user = Session["user"].ToString();
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrin gs["con_mmobilepr"].ConnectionString.ToString());
con.Open();
SqlCommand cmd = new SqlCommand("basket_buy_user", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@un", user);
SqlDataAdapter da = new SqlDataAdapter("basket_buy_user", con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
da.Fill(dt);
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
con.Close();
}



----------------------------------
sored procedure:

ALTER procedure [dbo].[basket_buy_user]
@un nvarchar(100)
as
begin
select * from temp where un=@un
end



دوستان کمک کنید بسیار ممنون می شم.
با تشکر ...

aliblue
یک شنبه 09 مهر 1391, 13:13 عصر
متن ارور را قرار دهید.در ضمن با استفاده از SqlDataSource به سادگی میشه از StoredProcedure استفاده کرد و برای پارامتر هاش انتخاب کرد که از کجا خونده بشه که در این مورد باید session را انتخاب و در قسمت کادر زیر آن نام session مثلا user را وارد کرد

razeghaik1
یک شنبه 09 مهر 1391, 13:22 عصر
متن ارور را قرار دهید.در ضمن با استفاده از SqlDataSource به سادگی میشه از StoredProcedure استفاده کرد و برای پارامتر هاش انتخاب کرد که از کجا خونده بشه که در این مورد باید session را انتخاب و در قسمت کادر زیر آن نام session مثلا user را وارد کرد


دوست عزیز من با ADO.NET کار می کنم.و می خوام که از این طریق وصل بشم و مقدار session رو بفرستمو عمل بازیابی رو با استفاده از این شر انجام بدم و بگم رکوردهایی رو بیار که نام کاربری آنها برابر سشن باشد.مثلا برابر با ali باشد.

متن ارور:
Procedure or function 'basket_buy_user' expects parameter '@un', which was not supplied.

razeghaik1
یک شنبه 09 مهر 1391, 14:45 عصر
دوستان دیگر هم اگر لطف کنند و منو راهنمایی کنند ممنون می شم.