2012-04-13 19 views
1

データセット内のデータテーブル内のすべての行を消去し、Update()TableAdapterというメソッドを使用してデータベースを更新したいとします。DataSetのDataTableからすべての行を削除する

インサートがうまく動作しているので、私は自分が何をしているかを見ることができます。私はすべての行を消去するはずだったdatatableのためのメソッドClear()を試しましたが、現時点では何もしません。

私はDELETE * FROM demande;のようなSQLクエリの種類を使用したいが、私はここでそれ

protected void InsertDemande_Click(object sender, EventArgs e) 
{ 
    //TB = textBox 
    //Parsing date (5th row of my dataTable is type date) 
    string[] tabdate = TB_date_demande.Text.Split('/'); 
    DateTime date = new DateTime(int.Parse(tabdate[2]), int.Parse(tabdate[1]), int.Parse(tabdate[0])); 

    //In my dataset "Demande", on my table "Demande", i add a new row type "demande" with all good parameters 
    ds_Demande.Demande.AddDemandeRow(TB_demande_ID.Text, TB_user_ID.Text, TB_nom_fichier.Text, int.Parse(TB_poids_fichier.Text), date); 


    ta_Demande.Update(ds_Demande);//update the database 
    LabelResponse.Text = "Ajout effectué avec succès"; 
    GridViewDemande.DataBind();//refresh gridview 
} 

protected void ClearTable_Click(object sender, EventArgs e) 
{ 
    ds_Demande.Demande.Clear();//doesn't seem to do anything 
    ta_Demande.Update(ds_Demande); 
    GridViewDemande.DataBind(); 
} 
+1

見つけ行う方法を取得いけないします。http://stackoverflow.com/questions/955427を/ delete-all-rows-in-a-datatable –

+0

ありがとう、うまくいった=) – WizLiz

答えて

3
// Clear all rows of each table. 
ds_Demande.Clear(); 

// alternatively: 
foreach(var row in ds_Demande.Rows) { 
    row.Delete(); 
} 
+0

私は同じ結果を聞く前に何も消去されていないことを試しました – WizLiz

+0

データテーブルのすべての行を丸めて、行? –

+0

削除を使用している場合、削除する行をマークしています。ループの後、DataSet.AcceptChanges()を呼び出して削除を終了します。 – Soenhay

1
for(int i = 0; i<ds_Demande.Count; i++) 
{ 
    ds_Demande.Rows[i].Delete(); 
} 
+0

無限ループを開始したように見える – WizLiz

+0

ああ、私は参照してください..編集された答えを確認してください。 – hkutluay