Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用更新查询更新数据表_Sql - Fatal编程技术网

Sql 使用更新查询更新数据表

Sql 使用更新查询更新数据表,sql,Sql,我正在将字符串_nameProcessed从UI传递到我的DAL并更新我的表。现在,当我进行foreach查看时,我无法确定如何将我的列ShipmentProcessedBy更新为_nameProcessed 有人帮忙吗 public void SaveNameProcessed(DataTable updatedTable, string _nameProcessed) { foreach (DataRow row in updatedTable.Rows)

我正在将字符串_nameProcessed从UI传递到我的DAL并更新我的表。现在,当我进行foreach查看时,我无法确定如何将我的列ShipmentProcessedBy更新为_nameProcessed

有人帮忙吗

 public void SaveNameProcessed(DataTable updatedTable, string _nameProcessed)
    {
        foreach (DataRow row in updatedTable.Rows)
        {

            SqlCommand cmd2 = new SqlCommand(
                @"update dbo.JobStatus 
                    SET ShipmentProcessedBy = ????, 
                    WHERE JobTableId = @JobID ", _mySqlConnec);

            //Updated the parameters to the SQL Query!
            cmd2.Parameters.Add(new SqlParameter("@ProcessedBy", row["ProcessedBy"].ToString()));
            cmd2.Parameters.Add(new SqlParameter("@JobID", row["JobID"].ToString()));

            cmd2.Connection = _mySqlConnec;
            _mySqlConnec.Open();
            cmd2.ExecuteNonQuery();
            _mySqlConnec.Close();
        }

    }
以下是修正后的代码:

 public void SaveNameProcessed(DataTable updatedTable, string _nameProcessed)
    {
        foreach (DataRow row in updatedTable.Rows)
        {

            SqlCommand cmd2 = new SqlCommand(
                @"update dbo.JobStatus 
                    SET ShipmentProcessedBy = ????, 
                    WHERE JobTableId = @JobID ", _mySqlConnec);

            //Updated the parameters to the SQL Query!
            cmd2.Parameters.Add(new SqlParameter("@ProcessedBy", _nameProcessed));
            cmd2.Parameters.Add(new SqlParameter("@JobID", row["JobID"].ToString()));

            cmd2.Connection = _mySqlConnec;
            _mySqlConnec.Open();
            cmd2.ExecuteNonQuery();
            _mySqlConnec.Close();
        }

    }

您已经声明并添加了一个名为
@ProcessedBy
的参数,因此只需在SQL中将其设置为该参数即可

SET ShipmentProcessedBy=@ProcessedBy,

与使用
@JobId

您还需要更改此行:

cmd2.Parameters.Add(新的SqlParameter(@ProcessedBy),第[“ProcessedBy”].ToString()行)


cmd2.Parameters.Add(新的SqlParameter(“@ProcessedBy”,_nameProcessed))

我根据您所说的更正了上述代码。我还是不明白,更新声明中应该包含什么?你仍然需要按照我说的去做。更换????变量名为@ProcessedBy