2016-12-11 14 views
0

Visual Studioでc#を使用してasp.net Webアプリケーションを作成しようとしています。私は開いているときに表示されるデータベーステーブルのいくつかのフィールドを必要とするページを持っています。この場合、前に登録した子供の名前、dob、およびユーザー名。私は自分のページにgridviewコントロールを配置し、ページを読み込んだときに自分のデータベースに接続するコードを書いて、上記の情報をgridviewに入力しました。RowDeletingが機能しない、エラーはありませんが、データベーステーブルのフィールドを削除しません。

すべて問題なく動作しますが、私の問題は、削除ボタンを使用してデータベースから子を完全に削除できるようにするために、グリッドビューの削除ボタンを有効にしたことです。私の現在のコードでは、これは起こりません。私はさまざまな長文のコードを試しましたが、複数のエラーが発生してしまいましたので、もう一度やり直して、単純にしています。私の下に私のコードを貼り付け、誰かがなぜ削除ボタンは、データベースから子供を削除していないことを指摘できますか?前もって感謝します!あなたのdelete文はすべてのフィールドをspecyfingせずに "子どもたちからの削除" のようになります

Picture showing how my gridview currently renders when I run my app

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using System.Data; 
using System.Diagnostics; 
using System.Collections; 
using System.Configuration; 

namespace Coursework 
{ 
public partial class view_remove : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     using (SqlConnection connect = new SqlConnection("Data Source=THEBEAST;Initial Catalog=newregDB;Integrated Security=True;Pooling=False")) 
     using (SqlCommand cmd = new SqlCommand("SELECT [firstname], [dob], [ChildID] FROM [children]", connect)) 
     { 
      connect.Open(); 
      SqlDataAdapter sda = new System.Data.SqlClient.SqlDataAdapter(cmd); 
      DataTable dt = new DataTable(); 
      sda.Fill(dt); 
      GridView1.DataSource = dt; 
      GridView1.DataBind(); 
      connect.Close(); 
     } 
    } 

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
    { 

    } 
    public void Gridview1_RowDeleting(Object sender, GridViewDeleteEventArgs e) 
    {   
     GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex]; 
     SqlCommand cmd = new SqlCommand("Delete From children (firstname, dob, childID)"); 
     GridView1.DataBind(); 
    } 
} 

}

+0

Page_Loadで行ったのと同じパターンですが、SQLクエリはPage_LoadのSELECT文ではなくDELETE文になります。今、GridView1_RowDeletingメソッドは、データベースと行を削除しようとしているテーブルを見つける場所がわかりません。 – Auguste

答えて

1

+0

私はフィールドを指定せずに 'delete from children'にしましたが、deleteキーを押しても何も起こりません。子はまだデータベーステーブルにあります。 – ACostea

関連する問題