我有兩個表。如何實現編輯主/從記錄?
tbl_Request(PKRequestID, RequestCode) and tbl_Personnel(PKPersonID, PerosnelName FKRequestID)
FKrfequestID是tbl_request的外鍵。我在Requests.aspx頁面中有一個顯示tbl_request記錄的網格視圖。此頁面中還有一個「New Item」按鈕。當用戶單擊此按鈕時,將打開RequestInsert.aspx頁面。在這個頁面中,用戶輸入一些數據,如RequestCode,並點擊「下一步」按鈕,進入Personel.aspx頁面,該頁面包含一個GridView,顯示與請求相關的人員。在這個頁面中,用戶應該定義與請求有關的人員。當整個過程完成用戶點擊「保存」按鈕。兩個表格將在用戶點擊「保存」按鈕時更新。我如何實現Personel.aspx頁面?
這裏是personnelaspx.cs代碼代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dttbl = new DataTable();
dttbl.Columns.Add("PKPersonID", System.Type.GetType("System.String"));
dttbl.Columns.Add("PerosnelName", System.Type.GetType("System.String"));
dttbl.Columns.Add("FKRequestID", System.Type.GetType("System.String"));
Session["MyDataTable"] = dttbl;
}
}
protected void btnok_Click(object sender, EventArgs e)
{
DataTable t = (DataTable)Session["MyDataTable"];
DataRow row1 = t.NewRow();
row1["PKPersonID"] = txtid.Text ;
row1["PerosnelName"] = txtname.Text;
row1["FKRequestID"] = Session["FKRequestID"];
t.Rows.Add(row1);
Session["MyDataTable"] = t;
GridView1.DataSource = t;
GridView1.DataBind();
}
protected void btnsave_Click(object sender, EventArgs e)
{
DataTable t2 = (DataTable)Session["MyDataTable"];
SqlConnection con = new SqlConnection("connection_string"
using (SqlCommand command = con.CreateCommand())
{
//Here you are inserting values to tbl_Request
if (con.State == 0)
con.Open();
command.CommandText = @"INSERT INTO tbl_Request (PKRequestID,RequestCode) VALUES (@PKRequestID,@RequestCode)";
command.Parameters.AddWithValue("@PKRequestID", Session["PKRequestID"]);
command.Parameters.AddWithValue("@RequestCode", Session["RequestCode"]);
command.ExecuteNonQuery();
}
foreach (DataRow row in t2.Rows)
{
//Here you are inserting values to tbl_Personnel
using (SqlCommand command2 = con.CreateCommand())
{
if (con.State == 0)
con.Open();
command2.CommandText = @"INSERT INTO tbl_Personnel (PerosnelName, FKRequestID) VALUES (@PerosnelName, @FKRequestID)";
command2.Parameters.AddWithValue("@PerosnelName", txtname.Text);
command2.Parameters.AddWithValue("@FKRequestID", Session["PKRequestID"]);
command2.ExecuteNonQuery();
}
}
}
我如何能實現編輯模式?在這種模式下,我希望用戶能夠刪除人員或添加他們?
因此,您想在人員保存到數據庫之前從'personnelaspx'頁面刪除人員。我對嗎? –
否。想象一下,用戶添加了請求及其相關人員。我希望用戶能夠點擊Request.aspx頁上的Edit按鈕,並且能夠編輯請求信息並編輯或編輯添加到此請求的人員。 – Karadous