PDA

View Full Version : مشکل استفاده از کلاس



masud8002k
پنج شنبه 24 اسفند 1391, 23:47 عصر
سلا دوستان من میخوام از کلاس استفاده کنم برای نمایش دادن گرید ویو
کد کلاسم اینه
public string showlistpolluser(string addby)
{
try
{
SqlConnection con = new SqlConnection(constr());
SqlCommand cmd = new SqlCommand("showpollsuser",con);
cmd.Parameters.AddWithValue("@addby",addby);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();

return "";
}
catch
{
return "error";
}

}

که دستوری که در استورپروسیجر نوشتم دستور select نوشتم به شرط addby
حالا در پیج لودم این کد رو نوشتم اما نشون نمیده
string temp = new showuserpoll().showlistpolluser("اسم یوزرم");
GridView1.DataSource = temp;
GridView1.DataBind();

اما نمیاره
اشکال کارم کجاست؟
ارور نمیده و هیچ سلکتی هم انجام نمیده

mohsen_f_b
جمعه 25 اسفند 1391, 03:43 صبح
سلام
شما نباید String برگردانید. شما باید از کلاس خود خروجی DataReader بگیرید و در GridView1.DataSource قرار دهید.

موفق باشید

saeed31641
جمعه 25 اسفند 1391, 08:42 صبح
شما باید datatableبرگردونید



public DataTable GetInfoByCode(string code, string user) { string sql = "SELECT aspnet_Users.UserName, " + "Code.dateUsed" + "FROM aspnet_Membership INNER JOIN" + "aspnet_Users ON aspnet_Membership.UserId = aspnet_Users.UserId INNER JOIN"+ "rAccessCode ON aspnet_Users.UserId = rAccessCode.userID INNER JOIN"+ "Code ON rAccessCode.CodeID = Code.accessCodeID"+ "WHERE (Code.accessCode = code)"; SqlDataAdapter da = new SqlDataAdapter(sql, ConnectionString); DataTable dt = new DataTable(); da.Fill(dt); }



یا از این استفاذه کن
Sqldatasource.SelectCommand="query"

masud8002k
جمعه 25 اسفند 1391, 09:16 صبح
سلام
شما نباید String برگردانید. شما باید از کلاس خود خروجی DataReader بگیرید و در GridView1.DataSource قرار دهید.

موفق باشید
چطوری باید از دیتا رید خروجی بگیرم؟؟؟؟نمیدونم

masud8002k
جمعه 25 اسفند 1391, 09:17 صبح
شما باید datatableبرگردونید



public DataTable GetInfoByCode(string code, string user) { string sql = "SELECT aspnet_Users.UserName, " + "Code.dateUsed" + "FROM aspnet_Membership INNER JOIN" + "aspnet_Users ON aspnet_Membership.UserId = aspnet_Users.UserId INNER JOIN"+ "rAccessCode ON aspnet_Users.UserId = rAccessCode.userID INNER JOIN"+ "Code ON rAccessCode.CodeID = Code.accessCodeID"+ "WHERE (Code.accessCode = code)"; SqlDataAdapter da = new SqlDataAdapter(sql, ConnectionString); DataTable dt = new DataTable(); da.Fill(dt); }



یا از این استفاذه کن
Sqldatasource.SelectCommand="query"

متوجه کد های شما نشدم من از ممبر شیب و... استفاده نمیکنم فقط میخوام اطلاعات رو از دیتا بیس سلکت کنم و در گرید ویو نمایش بدم (با استفاده از کلاس)
که کدشم بالا نوشتم اما دیگه نحوه نمایش رو نمیدونم ....

saeed31641
جمعه 25 اسفند 1391, 09:56 صبح
public DataTable showlistpolluser(string addby)
{

SqlConnection con = new SqlConnection(constr());
SqlCommand cmd = new SqlCommand("showpollsuser",con);
cmd.Parameters.AddWithValue("@addby",addby);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();

DataTable dt = new DataTable();

while (sdr.Read())
{
DataRow row = dt.NewRow();
row["Id"] = sdr["Id"];
row["FName"] = sdr["FName"];
row["LName"] = sdr["LName"];
dt.Rows.Add(row);
}
return dt;

}





dataGridView1.DataSource = showlistpolluser("amir");

reza97
جمعه 25 اسفند 1391, 10:14 صبح
public DataTable showlistpolluser(string addby)
{

SqlConnection con = new SqlConnection(constr());
SqlCommand cmd = new SqlCommand("showpollsuser",con);
cmd.Parameters.AddWithValue("@addby",addby);
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();

DataTable dt = new DataTable();

while (sdr.Read())
{
DataRow row = dt.NewRow();
row["Id"] = sdr["Id"];
row["FName"] = sdr["FName"];
row["LName"] = sdr["LName"];
dt.Rows.Add(row);
}
return dt;

}





dataGridView1.DataSource = showlistpolluser("amir");

دوست خوبم اتفاقا منم در خروجی این همیشه مشکل دارم تو خروجی بخواییم برای گرید ویو بایند کنیم چه جوری باید بایند کنیم
من تقریبا طبق این مورداینجوری مینویسم اما جواب نمیده

DataTable temp = new showuserpoll().showlistpolluser(addby);
GridView1.DataSource = "dt";

saeed31641
جمعه 25 اسفند 1391, 10:30 صبح
دوست خوبم اتفاقا منم در خروجی این همیشه مشکل دارم تو خروجی بخواییم برای گرید ویو بایند کنیم چه جوری باید بایند کنیم
من تقریبا طبق این مورداینجوری مینویسم اما جواب نمیده

DataTable temp = new showuserpoll().showlistpolluser(addby);
GridView1.DataSource = "dt";

showuserpoll temp=new showuserpoll()
GridView1.DataSource= temp.showlistpolluser("addby").

masud8002k
جمعه 25 اسفند 1391, 10:59 صبح
showuserpoll temp=new showuserpoll()
GridView1.DataSource= temp.showlistpolluser("addby").

تشکر به خاظر پاسخگوییتون
نمیدونم چرا این ارور رو داد
Column 'qustionname' does not belong to table .
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: Column 'qustionname' does not belong to table .

Source Error:


Line 30: DataRow row = dt.NewRow();
Line 31:
Line 32: row["qustionname"] = sdr["qustionname"];
Line 33: row["tarih"] = sdr["tarih"];
Line 34: dt.Rows.Add(row);

saeed31641
جمعه 25 اسفند 1391, 11:07 صبح
این خطا میگه فیلد جدولتqustionname تو دیتا سورست نیست.پروسیجرتو یه بررسی بکن

masud8002k
جمعه 25 اسفند 1391, 12:24 عصر
این خطا میگه فیلد جدولتqustionname تو دیتا سورست نیست.پروسیجرتو یه بررسی بکن

استور پروسیجرمو این طور نوشتم
CREATE PROCEDURE showpollsuser(@polid bigint,@addby varchar(50),@tarih nvarchar(50))
AS
BEGIN



select polid,addby,qustionname,tarih from tblqustion where addby=@addby order by polid desc


END
GO

saeed31641
جمعه 25 اسفند 1391, 12:46 عصر
[Q
qustionname تو ورودیا پروسیجرت نیست بعد امدی انتخابش کردی بعد تو تابعت یه ورودی میفرستی به پروسیجر ولی تو پروسیجرت سه تا وروردی داری

select polid,addby,qustionname,tarih from tblqustion where addby=@addby order by polid desc

reza97
جمعه 25 اسفند 1391, 17:14 عصر
اونم اضافه کردم حالا این ارور رو داد چشم داره درمیاد از بس اسیر اینم که این موردو یاد بگیرم

Procedure or function 'showpolllistuser' expects parameter '@polid', which was not supplied.

saeed31641
جمعه 25 اسفند 1391, 18:47 عصر
اونم اضافه کردم حالا این ارور رو داد چشم داره درمیاد از بس اسیر اینم که این موردو یاد بگیرم

Procedure or function 'showpolllistuser' expects parameter '@polid', which was not supplied.
خودش داره بهت میگه عزیزمن مشکت چیه. '@polid' با این مشکل داره بانکتو نگاه کن .شما یه پارامتر به پروسیجر در داخل برنامه فرستادی

SqlCommand cmd = new SqlCommand("showpollsuser",con); cmd.Parameters.AddWithValue("@addby",addby);
شما باید پارمتر دیگمرو بفرستی
polid,addby,qustionname,tarih
متوجه شدی

reza97
جمعه 25 اسفند 1391, 19:17 عصر
دوست عزیزاز شما تشکر میکنم که اشکال منم پاسخ میدید این قطعه کد رو توضیح میدید؟
while (sdr.Read()) {
DataRow row = dt.NewRow();
row["Id"] = sdr["Id"];
row["FName"] = sdr["FName"];
row["LName"] = sdr["LName"];
dt.Rows.Add(row);
}


من بدون استور پروسیجر مینویسم اشکالم این قطعه کده هر چی از جدولم اینجا مزارم میگه
Column 'name' does not belong to table


خود name در دیتا بیسم هست

saeed31641
جمعه 25 اسفند 1391, 19:38 عصر
دوست عزیزاز شما تشکر میکنم که اشکال منم پاسخ میدید این قطعه کد رو توضیح میدید؟
while (sdr.Read()) {
DataRow row = dt.NewRow();
row["Id"] = sdr["Id"];
row["FName"] = sdr["FName"];
row["LName"] = sdr["LName"];
dt.Rows.Add(row);
}


من بدون استور پروسیجر مینویسم اشکالم این قطعه کده هر چی از جدولم اینجا مزارم میگه
Column 'name' does not belong to table


خود name در دیتا بیسم هست
اطلاعاتون از بانک میخونه تو تیبل میریزه بعد اضافه میکنه