1
我想從gridview中插入記錄,當用戶在動態創建的行中選擇名稱並單擊按鈕保存。但有時記錄可以保存,大部分時間不是。我的編程邏輯有問題嗎?希望help.Thanks。在asp.net中插入記錄
前端代碼
<td>
<asp:Button ID="btnSave" runat="server" Text="Save" CssClass="btn btn-primary" Style="margin-top: 5px; margin-left: 150px" OnClick="btnSave_Click" /></td>
後端代碼
protected void btnSave_Click(object sender, EventArgs e)
{
grid2.SaveSelectionToViewState();
string Branch = txtBranch.Text.Trim();
string Name = txtName.Text.Trim();
string sql = "";
string Slmn = "";
DBHandler dbh = new DBHandler();
string active;
if (checkbox_id.Checked)
{
active = "1";
}
else
{
active = "0";
}
try
{
if (Branch != "" && Name != "")
{
dbh.OpenConnection();
for (int i = 0; i < grid2.Rows.Count; i++)
{
Slmn = ((TextBox)grid2.Rows[i].Cells[1].FindControl("TextBox1")).Text.Trim();
sql = "Insert into fcs_cotmdl (crdt,crid,cono,tmdl,slmn,acti) values (sysdate,'SYSTEM','" + Branch + "','";
sql += Name + "','" + Slmn + "','" + active + "')";
dbh.ExecuteNonQuery(sql);
dbh.TransactionCommit();
Page.ClientScript.RegisterStartupScript(this.GetType(), "Scripts", "<script>alert('Saved');</script>");
}
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Scripts", "<script>alert('Please fill in the Branch Code or Team Leader Name');</script>");
}
}
catch (Exception exp)
{
dbh.TransactionRollBack();
}
finally
{
dbh.CloseConnection();
}
checkbox_id.Checked = false;
txtBranch.Text = "";
txtName.Text = "";
grid2.DataBind();
SetInitialRow();
}
在你的表fcs_cotmdl結構中列slmn可以有null或空值嗎? – Prabhat
@Suprabhat謝謝reply.yes..it可以爲null – Jan
通過查看代碼,它似乎一切都會正常工作,直到除非(((TextBox)grid2.Rows [i] .Cells [1] .FindControl(「TextBox1 「)).Text.Trim()'這一行產生一個空的異常。此外,您還可以使用** try..catch **塊來阻止您獲取自定義錯誤頁面。嘗試評論try catch並再次運行。如果出現任何異常,請遵循堆棧跟蹤。 – Prabhat