2012-05-25 166 views
1

我有兩個表。ASP.NET中的主站詳細信息

tbl_Request(PKRequestID, RequestCode) and tbl_Personnel(PKPersonID, PerosnelName FKRequestID) 

FKrfequestID是一個外鍵tbl_request。 我有一個顯示tbl_request記錄的Requests.aspx頁面中的網格視圖。此頁面中還有一個「New Item」按鈕。當用戶單擊此按鈕時,將打開RequestInsert.aspx頁面。在這個頁面中,用戶輸入一些數據,如RequestCode,並點擊「下一步」按鈕,進入Personel.aspx頁面,該頁面包含一個GridView,顯示與請求相關的人員。在這個頁面中,用戶應該定義與請求有關的人員。當整個過程完成用戶點擊「保存」按鈕。兩個表格將在用戶點擊「保存」按鈕時更新。我如何實現Personel.aspx頁面?

+0

後,你已經嘗試了代碼。 –

+0

你的問題有點混亂。 **「當用戶想要將新記錄添加到tbl_Reque ...」**和**「數據庫中,直到用戶確認整個過程...」**正在給我造成混淆。請澄清。 –

+0

我編輯了問題Krishanu Dey。 – Karadous

回答

1

這裏有一個辦法:

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(); 
      } 
     } 
    } 
+0

我已經完成了這項工作。但我不知道如何實現Personel.aspx頁面。我應該如何實現插入?因爲在這一步中,請求沒有插入到表中,所以我不能將其插入到tbl_personel中。 – Karadous

+0

在Personel.aspx頁面中,用戶只需從網格視圖中選擇一個Personel。我對嗎? –

+0

不應該有一個「新」按鈕。當用戶點擊它時,另一頁將打開。他輸入人員信息並點擊確定。新增的人員應該出現在gridview中。但不應插入到tbl_personnel中,直到用戶單擊「保存」按鈕。 – Karadous