【问题标题】:Function doesn't add data to my database函数不会将数据添加到我的数据库
【发布时间】:2017-04-19 05:30:54
【问题描述】:

我有一个数据网格视图,我在其中显示来自我的数据库的信息。
我希望我的用户在最后一行添加信息,然后他将单击按钮添加,该按钮将在数据库中添加一个新行。
函数如下。当我调试它时,它会遍历我的所有行,获取所有信息,但它不会将我的新行添加到数据库中。

private void addNewAgent()
{
    int row = 0;

    if (ViewState["CurrentTable"] !=null)
    {
        DataTable mydt = (DataTable)ViewState["CurrentTable"];
        DataRow myrow = null;            

        if (mydt.Rows.Count>0)
        {
            for (int i = 1; i <= mydt.Rows.Count; i++)
            {

                TextBox fn = GridView1.Rows[row].Cells[1].FindControl("txt_FirstName") as TextBox;
                TextBox ln = GridView1.Rows[row].Cells[2].FindControl("txt_LastName") as TextBox;
                TextBox email = GridView1.Rows[row].Cells[3].FindControl("txt_Email") as TextBox;

                myrow = mydt.NewRow();
                myrow["UserID"] = i + 1;
                mydt.Rows[i - 1]["FirstName"] = fn.Text;
                mydt.Rows[i - 1]["LastName"] = ln.Text;
                mydt.Rows[i - 1]["email"] = email.Text;

                row++;                   
            }
            mydt.Rows.Add(myrow);                
            ViewState["CurrentTable"] = mydt;
            GridView1.DataSource = mydt;
            GridView1.DataBind();             
        }
        else
        {
            Response.Write("view state is null"); 
        }
    }

}

【问题讨论】:

    标签: c# asp.net datagridview


    【解决方案1】:

    您缺少将数据持久保存在数据库中的代码。 现在,您只是将 gridview 数据添加到 viewstate 数据表中。 我看不出这样做有什么意义,因为 gridview 本身已经在 viewstate 中维护了它的数据。

    恕我直言,您应该在页面加载时在 gridview 中加载数据 捕获 gridview 行命令(编辑、更新、删除)以更新数据库。

    您将在网上轻松找到如何通过 gridview 管理数据的示例 这是一个http://asp.net-informations.com/gridview/gridview-operations.htm

    如果您有特定的理由不在编辑时立即保留数据,您可以添加一个“更新数据库”按钮,该按钮将遍历您的视图状态数据表中的所有记录,并明确更新相关的数据库记录

    【讨论】:

    • 但是这样做:mydt.Rows.Add(myrow);我要添加到我的表中没有?然后我通常使用我的命令生成器
    • 您的数据表与数据库断开连接(在内存中),要持久保存其更改,您需要专门调用命令或逻辑(例如使用 sqldataadapter)参见stackoverflow.com/questions/7055799/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 2019-10-19
    • 2018-01-22
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多