PDA

View Full Version : مشکل در حذف رکورد از gridview



fabdolkarimi
یک شنبه 09 اردیبهشت 1386, 10:10 صبح
دوستان من دارم یه سیستم کتابخانه تحت وب می نویسم تو صفحه admin یه gridview دارم که اطلاعات مربوط به user ها رو نشون میده من می خوام مثل کد آقای راد وقتی admin تیک چک باکسی رو می زنه اون رکورد حذف بشه که به کدم error میده ، نمی دونم باید چی کارکنم.
ضمنا" می خوام وقتی دکمه ویرایشو میزنه صفحه Register رو نشون بده که صفحه Register با اطلاعات اون کاربر خاص پر شده باشه از application ها برای ارسال مقادیر استفاده کردم که جواب نداد.
من پروژه رو با detache دیتا بیسم می زارم هر کی می تونه برام درستش کنه . فایل دیتا بیس تو فولدر App_Data می باشد.

fabdolkarimi
یک شنبه 09 اردیبهشت 1386, 10:12 صبح
پروژه به زبان C# می باشد

Keramatifar
یک شنبه 09 اردیبهشت 1386, 13:04 عصر
از Application برای فرستادن اطلاعات استفاده نکن از Session استفاده کن حتما جواب میده.

fabdolkarimi
سه شنبه 11 اردیبهشت 1386, 11:52 صبح
مثل اینکه کسی به تاپیک من توجه نکرده، مشکلمو بیشتر توضیح میدم :
من می خوام تو GridView با کلیک روی دکمه ویرایش به صفحه Register برم و اونجا اطلاعات اون کاربر خاص رو نمایش بدم ، حالا مشکل من دقیقا" اینجاست که نمی تونم یه Username خاص رو بگیرم.از کدهای زیر استفاده می کنم ولی جواب نمی ده:

foreach (GridViewRow gvRow in GridView1.Rows)
{
Application["update"] = "1";
// Application["EditUser"] = gvRow.FindControl("lblUserName").Controls[0];
Label1.Text = gvRow.Cells[6].Controls[0].ToString();
Application["EditUser"] =gvRow.Cells[6].Controls[0];
Response.Redirect("Register.aspx");
}

lblUserName یه Label است که تو html تعریفش کردم و به "UserName" تو data base وصلش کردم.برای application["EditUser"] هم تو صفحه Register یه تابع نوشتم به نام User_Bind_Update

publicvoid Bind_User_Update(string username)
{
SqlConnection cnn = newSqlConnection();
cnn.ConnectionString = "Data Source=localhost;Initial Catalog=library;Integrated Security=True;";
SqlCommand cmd = newSqlCommand();
cmd.Connection = cnn;
SqlDataReader dr;
try
{
cnn.Open();
cmd.CommandText = "SELECT * FROM [User] WHERE [UserName]=@UserName";
cmd.Parameters.Add("@UserName", username);
dr = cmd.ExecuteReader();
while (dr.Read())
{
this.txtUsername.Text = (dr["UserName"]).ToString();
this.txtAddress.Text = (dr["Address"].ToString());
this.txtMail.Text = (dr["Email"].ToString());
this.txtName.Text = (dr["Name"].ToString());
this.txtFamily.Text = (dr["Family"].ToString());
this.txtPhone.Text = (dr["telephone"].ToString());
this.txtNo.Text = (dr["userId"].ToString());
this.txtBirthNo.Text = (dr["BirthCertificateNo"].ToString());
this.DropDownList1.SelectedValue = (dr["levelId"].ToString());
this.DropDownList2.SelectedValue = (dr["StudentStatusId"].ToString());
this.Image1.ImageUrl = (dr["imagePath"].ToString());
}
cnn.Close();
dr.Close();

}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
cnn.Close();
}
}

و تو page_load فراخوانی کردم:


if(Application["update"]=="1")
{
Bind_User_Update(Application["EditUser"].ToString());
}

حالا مشکلم اینجاست که اصلا" تو while(dr.read()) منی ره .
تو رو خدا یکی کمکم کنه دیگه باید چی کار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟