2011-08-06 9 views
0
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) 
{ 

    SqlConnection con = new SqlConnection(" Data Source=SYS022\\SQLEXPRESS;Initial Catalog=Bhagavan;Integrated Security=True"); 
    con.Open(); 
    SqlCommand cmd = new SqlCommand("select * from emp3", con); 
    SqlDataReader dr = cmd.ExecuteReader(); 
    while (dr.Read()) 
    { 



      txt_eid.Text = dr["eid"].ToString(); 
      txt_ename.Text = dr["ename"].ToString(); 
      txt_sal.Text = dr["esal"].ToString(); 


    } 

私のアプリケーションは、3 texboxesとGridViewのを含んで表示します私はエディットボタンをクリックするかのように動作しています。これは、テキストボックス内のgridviewの最後のレコードを表示しています。誰かが何を問題としているのですか(ここから私はDBからgridviewに接続しています)私は他の編集方法を知っています..助けてください。 マークアップコードはちょうど私がGridViewの編集リンク(3 COLOUMNS)3 textBOXES.myコードで尊敬行ショーの表示をクリックした場合のみ1行が[GridViewの]テキストボックスに

+0

マークアップ(aspxページ)を表示できますか?あなたの説明から、あなたのコードはあなたがしたことを正確に行っているように思えます.3つのTextBoxにDataRowの3つの値を入力しています。複数の行がある場合は、最後の行がTextBoxに表示されます。 – Tim

答えて

0

編集しようとしている特定の行を編集するために、IDをSQL文に渡す必要はありませんか?言い換えると、この:これに変更する必要

SqlCommand cmd = new SqlCommand("select * from emp3", con); 

表示:

細胞を[0] "EID" の値を保持
SqlCommand cmd = new SqlCommand("select * from emp3 where id="+GridView1.Rows[e.NewEditIndex].Cells[0].Text, con); 

実際、グリッドビューに最後のレコードが表示されるのは、emp3テーブルからselect *を実行する代わりにselect *を実行しているので、emp3テーブルのすべてのレコードのwhileループを通過するためです。 eid = [some_specific_id];

+0

@ icarusありがとうございます。 – hetric

+0

@hetric大歓迎です。それは動作しましたか? – Icarus

関連する問題