1

嗨,我有一个下拉列表,我想在下拉列表中选择它时更新一个项目,我编写了这段代码,但它只更新第一个项目:

        DBMethod db = new DBMethod();
        DataTable dt = new DataTable();
        string sqlcmd = "select * from dbo.Web_Personnel ";
        dt = db.ReturnTableWithData(sqlcmd);

        dt.Rows[0]["Job"] = txtjobE.Text;
        dt.Rows[0]["ChildNo"] = txtchildnoe.Text;
        dt.Rows[0]["Salary"] = txtsalary.Text;
        db.UpdateDatatable(dt, "dbo.Web_Personnel");
4

2 回答 2

1

是的,默认情况下,此代码只会更新第一项,因为您在其中硬编码值 0

        dt.Rows[0]["Job"] = txtjobE.Text;
        dt.Rows[0]["ChildNo"] = txtchildnoe.Text;
        dt.Rows[0]["Salary"] = txtsalary.Text;

只需声明一个变量

    int i = 0;
    //change the value of I to desired value and less than dt.Rows.Count()
    dt.Rows[i]["Job"] = txtjobE.Text;
    dt.Rows[i]["ChildNo"] = txtchildnoe.Text;
    dt.Rows[i]["Salary"] = txtsalary.Text;
于 2013-02-08T13:49:55.140 回答
-1

使用变量i定位特定行:

确定要编辑的数据库行,例如:

int i = idOfUser // e.g. id = 3

    dt.Rows[i]["Job"] = txtjobE.Text;
    dt.Rows[i]["ChildNo"] = txtchildnoe.Text;
    dt.Rows[i]["Salary"] = txtsalary.Text;
于 2013-02-08T13:50:57.463 回答