ورود

View Full Version : سوال: لود مقدار gridview در textbox



Milo_22
پنج شنبه 30 شهریور 1391, 21:26 عصر
سلام
یک سوال داشتم راجع به لود مقادیر بانک دخل textbox ها و ...
راستش من قراره یک فرم ویرایش اطلاعات داشته باشم! حالا برای این کار من 2 تا فرم ساختم که یکی از اونها یک gridview داره که مقدار ID مثلا دانشجو رو می فرسته به صفحه دوم من که اونجا با این کد :


if (!IsPostBack)
{
txtID.Text = Request.QueryString["id"].ToString();
}


که تو form load نوشتم مقدار ID رو به درستی دریافت میشه. حالا من نمی دونم چطوری با این مقدار ID دریافت شده یک کوئری بنویسم که باهاش textbox هام رو پر کنم ؟
گشتم یک چیزهایی پیدا کردم ولی اکثرشون طوری نوشته بودن که داخل همون صفحه مبدا این کارو می کرد! یعنی مقدار این ID به صفحه دیگه ای ارسال نمیشد. من آمدم اینو نوشتم :


//string query = "select * from user_st where ID_st = @stid";
//SqlCommand cmd = new SqlCommand(query, con);
//cmd.Parameters.AddWithValue("@stid", stid);
//con.Open();
//SqlDataReader dr = cmd.ExecuteReader();
//dr.Read();
//txtName.Text = dr["name"].ToString();
//txtFamily.Text = dr["family"].ToString();


حالا نمی دونم اصلا این کجاش مشکل داشت که کلن دیگه مقدار ID رو هم " 0 " می کنه ؟

ممکنه لطفا کمک بدین ؟ بسیار سپاس ...

Milo_22
پنج شنبه 30 شهریور 1391, 23:39 عصر
خوب من مشکلم رو متوجه شدم . مشکل سر استفاده از کلید بود الآن برای لود کردن محتویات مشکلی نداره فقط مسئله سر ویرایش کردن هست .
ببینید من اول این کد رو نوشتم :


protected void btnOk_Click(object sender, EventArgs e)
{


Boolean res = false;
SqlConnection conn = new SqlConnection(strcon);

SqlCommand cmdup = new SqlCommand("EXEC up_st'" + txtName.Text. + "' , '" + txtFamily.Text + "' , '" + txtTahsilat.Text +"' , '" + txtAddress.Text + "' , '"
+ txtHomeTel.Text + "' , '" + txtTel.Text + "' , '" + txtEmail.Text + "' , '" + txtShoghl.Text + "' , '"
+ txtAge.Text + "' , '" + txtFadername.Text + "' , '" + txtIDnumber.Text + "' , '" + txtShSh.Text + "' , '"
+ txtID.Text + "'", conn);

try
{
conn.Open();
cmdup.ExecuteNonQuery();
conn.Close();
res = true;
}
catch (SqlException ex)
{
lblRes.Text = "خطا در ثبت اطلاعات/n/n" + ex.ToString();
}

if (res)
{
lblResult.Text = "اطلاعات با موفقیت ثبت شد";
txtName.Text = "";
}


بعد دیدم کار نمی کنه اینو نوشتم :


protected void btnOk_Click(object sender, EventArgs e)
{


Boolean res = false;
SqlConnection conn = new SqlConnection(strcon);

string query = "update user_st set name=@name , fader_name=@fader_name , family =@family , tahsilat=@tahsilat ,adres=@adres , home_tel=@home_tel ,celphone=@celphone , email=@email , sh_sh=@sh_sh , shoghl=@shoghl ,age=@age , melli_code=@melli_code where ID_St=@id ";
SqlCommand cmdup = new SqlCommand(query, conn);
cmdup.Parameters.AddWithValue("@name", txtName.Text);
cmdup.Parameters.AddWithValue("@fader_name",txtFadername.Text);
cmdup.Parameters.AddWithValue("@family",txtFamily.Text);
cmdup.Parameters.AddWithValue("@tahsilat",txtTahsilat.Text);
cmdup.Parameters.AddWithValue("@adres",txtAddress.Text);
cmdup.Parameters.AddWithValue("home_tel",txtHomeTel.Text);
cmdup.Parameters.AddWithValue("@celphone",txtTel.Text);
cmdup.Parameters.AddWithValue("@email",txtEmail.Text);
cmdup.Parameters.AddWithValue("@sh_sh",txtShSh.Text);
cmdup.Parameters.AddWithValue("@shoghl",txtShoghl.Text);
cmdup.Parameters.AddWithValue("@age",txtAge.Text);
cmdup.Parameters.AddWithValue("@melli_code",txtIDnumber.Text);
cmdup.Parameters.AddWithValue("@id", txtID.Text);

try
{
conn.Open();
cmdup.ExecuteNonQuery();
conn.Close();
res = true;
}
catch (SqlException ex)
{
lblRes.Text = "خطا در ثبت اطلاعات/n/n" + ex.ToString();
}

if (res)
{
lblResult.Text = "اطلاعات با موفقیت ثبت شد";
txtName.Text = "";
}


اینم استورپروسیجرم :

ALTER PROC [dbo].[up_st]
@name nvarchar(50) ,@family nvarchar(50) ,@tahsilat nvarchar(50) , @adres nvarchar(100) ,@home_tel char(10)
,@celphone char(10) ,@email nchar(10) ,@shoghl nvarchar(50),@age int,@fader_name nvarchar(50),@melli_code char(10)
,@sh_sh char(10), @id int

AS
BEGIN
update user_st
set name=@name , fader_name=@fader_name , family =@family , tahsilat=@tahsilat , adres=@adres , home_tel=@home_tel ,
celphone=@celphone , email=@email , sh_sh=@sh_sh , shoghl=@shoghl , age=@age , melli_code=@melli_code
where ID_St=@id
END



ولی هیچ تغییری در اون زمانی که روی دکمه ویرایش کلیک می کنم بوجود نمیاد چرا ؟؟؟؟؟؟؟؟؟؟؟ کجا دارم اشتباه کار می کنم ؟؟؟
تو قسمت فرم لود هم اینا رو نوشتم :


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
txtID.Text = Request.QueryString["id"].ToString();
}


SqlConnection con = new SqlConnection(strcon);
string query = "select * from user_st where ID_st = @id";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@id", stid);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
dr.Read();

txtName.Text = dr["name"].ToString();
txtFamily.Text = dr["family"].ToString();
txtAddress.Text = dr["adres"].ToString();
txtHomeTel.Text = dr["home_tel"].ToString();
txtTahsilat.Text = dr["tahsilat"].ToString();
txtTel.Text = dr["celphone"].ToString();
txtEmail.Text = dr["email"].ToString();
txtShoghl.Text = dr["shoghl"].ToString();
txtAge.Text = dr["age"].ToString();
txtFadername.Text = dr["fader_name"].ToString();
txtIDnumber.Text = dr["melli_code"].ToString();
txtShSh.Text = dr["sh_sh"].ToString();

}



لطفا کمک بدین دوستان :ناراحت: