Visual Studioでc#を使用してasp.net Webアプリケーションを作成しようとしています。私は開いているときに表示されるデータベーステーブルのいくつかのフィールドを必要とするページを持っています。この場合、前に登録した子供の名前、dob、およびユーザー名。私は自分のページにgridviewコントロールを配置し、ページを読み込んだときに自分のデータベースに接続するコードを書いて、上記の情報をgridviewに入力しました。RowDeletingが機能しない、エラーはありませんが、データベーステーブルのフィールドを削除しません。
すべて問題なく動作しますが、私の問題は、削除ボタンを使用してデータベースから子を完全に削除できるようにするために、グリッドビューの削除ボタンを有効にしたことです。私の現在のコードでは、これは起こりません。私はさまざまな長文のコードを試しましたが、複数のエラーが発生してしまいましたので、もう一度やり直して、単純にしています。私の下に私のコードを貼り付け、誰かがなぜ削除ボタンは、データベースから子供を削除していないことを指摘できますか?前もって感謝します!あなたのdelete文はすべてのフィールドをspecyfingせずに "子どもたちからの削除" のようになります
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();
}
}
}
Page_Loadで行ったのと同じパターンですが、SQLクエリはPage_LoadのSELECT文ではなくDELETE文になります。今、GridView1_RowDeletingメソッドは、データベースと行を削除しようとしているテーブルを見つける場所がわかりません。 – Auguste