簡體   English   中英

通過文本框更新Gridview數據

[英]Gridview Data Update by textbox

當嘗試使用文本框值更新Datagridview時,它在文本框中顯示空值,我的代碼是this.wt在此錯誤。 bnddata()已將數據集分配給gridview

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        bnddata();

    }
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];


        string emailid = GridView1.Rows[0].Cells[0].Text;


        TextBox txtadress = (TextBox)row.FindControl("txtadress");

        con.Open();

        string upd = "update empeasty set adress='" + txtadress.Text+ "' where emailid='"+emailid+"'";

        SqlCommand cmd = new SqlCommand(upd,con);


        int i=cmd.ExecuteNonQuery();

        if (i > 0)
            Response.Write("Data updated");
        else
            Response.Write("Data not updated");

        con.Close();

        GridView1.EditIndex = -1;

        bnddata();
}

讓我們根據您對問題和評論的了解來對此進行分類。

您正在嘗試更新數據庫中的數據(地址),但是在綁定數據之后,它在回發中又變回空白。

我在您的代碼中沒有看到任何異常處理,並且您也沒有指出任何錯誤,因此這告訴我代碼在沒有任何運行時異常的情況下執行。 由於回發似乎已經完成(根據我們所知),所以這告訴我Update SQL命令存在問題。

string upd = "update empeasty set adress='" + txtadress.Text+ "' where emailid='"+emailid+"'";

除非您在應用程序級別進行了異常處理,否則可以合理地假設命令已執行。 這意味着txtAddress.Text為空,或者數據庫中的表中沒有匹配的emailid的行。

查看SQL字符串實際外觀的最快方法是單擊左側的垂直灰色條以在設置SQL的行旁邊設置一個斷點(應該顯示一個紅點)。

然后按F5(以調試模式啟動應用程序),在文本框中輸入地址的值,然后按Submit(或進行更新的任何按鈕)。 當程序到達設置斷點的位置時,您可以單步執行代碼,然后可以檢查txtAddress.Text,emailid和upd的值以了解它們的含義。

如果txtAddress.Text或emailid為空,則有您的答案。 如果emailid不為空,則您的值可能不正確,您需要找出原因。

看起來可能不是這樣,但是您擁有確定所遇到問題的根本原因所需的一切。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM