2016-06-22 19 views
0

ユーザーにデータを編集できるデータテーブルを提供したいと考えています。 私は私が私がGridviewを使用してwebformでデータを更新する方法は?

protected void RowDeleting(object sender, GridViewDeleteEventArgs e) 
    { 
     try 
     { 
      dt.Rows[GridView1.Rows[e.RowIndex].RowIndex].Delete(); 
      int id =Convert.ToInt32(GridView1.Rows[e.RowIndex].ID); 

      FillGridView(); 
     } 
     catch 
     { 
      Response.Write("<script> alert('Record not deleted...') </script>"); 
     } 
    } 

削除機能を書きたいと思ったときに、これは削除機能で捕まってしまったSQL Serverから

 public static List<TestAsfa> GetRecordsMan() { 
     using (var d = new TestEntities()) 
     { 
      return d.TestAsfa.ToList(); 
     } 

を私のデータを取得するには、このメソッドを使用していました。私は

public static void deleteRecord(int id) 
    { 

     using (var d = new TestEntities()) 
     { 
      TestAsfa tb = d.TestAsfa.SingleOrDefault(t => t.ID == id); 
      d.TestAsfa.Remove(tb); 
      d.SaveChanges(); 
     } 
    } 

以下の方法を書いたが、私はそれは私が選択された行はこのコードを使用し除去するために私のミス

答えて

0

を理解していない送信者 から正しい行IDを取得していないかわからない

using(var d = new TestEntities()) 
{ 
    d.TestAsfa.Remove(d.TestAsfa.Find(id)); 
    d.SaveChanges(); 
} 

または使用し、この1

using(var d = new TestEntities()) 
    { 
    TestAsfa tb = d.TestAsfa.SingleOrDefault(t => t.Id == id); 
     d.TestAsfa.Remove(tb); 
     d.SaveChanges(); 
    } 
+0

を見てみてくださいおかげで私はこのエラーを取得しますex = {"値はヌルにはできません。\ r \ nパラメータ名:エンティティ"} – saeedeh

+0

これはIDにNULL値があるようです。 –

+0

いいえ、私はそれを修正しました!しかし、私はまだこのエラーが発生します – saeedeh

0

はERRを防ぐことを忘れないでください。チェックしているIDが実際のItemであることを確認する必要があります。例えば、このような何か、:

public static void deleteRecord(TestAsfa TA,int id) 
    { 
     using(var d = new TestEntities()) 
     { 
      TA= d.TestAsfa.Where(item => item.ItemId == id).FirstOrDefault(); 
      if (itemTA!= null) { 
       d.TestAsfa.Remove(TA); 
      } 
     }    

    } 
0

こんにちはこの

保護無効GridView1_RowDeleting(オブジェクト送信者、GridViewDeleteEventArgs E)
{

 GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex]; 
     Label lbldeleteid = (Label)row.FindControl("lblID"); 
     conn.Open(); 

     SqlCommand cmd = new SqlCommand("delete FROM tableName where 
     id='"+Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString())+"'", conn);  

     cmd.ExecuteNonQuery();  

     conn.Close();  
     gvbind(); 

    } 
+0

申し訳ありませんが、何がconnですか? – saeedeh

+0

データベース接続文字列..クエリを実行するために接続を開く必要があります! – Ashokk

+0

あなたはこの文字列を追加する必要があることを意味するconn = ConfigurationManager.ConnectionStrings ["TestEntities"]。ConnectionString; – saeedeh

関連する問題