Sql “WHERE”附近的语法不正确

Sql “WHERE”附近的语法不正确,sql,Sql,我正在通过Datagridview更新数据库。以下是我的更新按钮代码: public void SaveDataSet(DataTable table) { foreach (DataRow row in table.Rows) { SqlCommand cmd2 = new SqlCommand( @"update dbo.JobStatus SET ShipTransmitStatus = @TransmitStatus,

我正在通过Datagridview更新数据库。以下是我的更新按钮代码:

 public void SaveDataSet(DataTable table)
{

  foreach (DataRow row in table.Rows)
  {

    SqlCommand cmd2 = new SqlCommand(
      @"update dbo.JobStatus 
        SET ShipTransmitStatus = @TransmitStatus, 
          ShipTrackingNumber = @TrackingNum, 
          Carrier = @Carrier, 
          ShipmentProcessedBy = @ProcessedBy, 
          ShipMethodTransmitted = @MethodTransmitted,
        WHERE JobTableId = @JobID ", _mySqlConnec);

    //Updated the parameters to the SQL Query!
    cmd2.Parameters.Add(new SqlParameter("@TransmitStatus", row["Status"].ToString()));
    cmd2.Parameters.Add(new SqlParameter("@TrackingNum", row["Tracking#"].ToString()));
    cmd2.Parameters.Add(new SqlParameter("@Carrier", row["Carrier"]));
    cmd2.Parameters.Add(new SqlParameter("@ProcessedBy", row["ProcessedBy"].ToString()));
    cmd2.Parameters.Add(new SqlParameter("@MethodTransmitted", row["MethodTransmitted"].ToString()));
    cmd2.Parameters.Add(new SqlParameter("@JobID", row["JobID"].ToString()));

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


}
这是我的选择声明:

SELECT dbo.InvoiceLineDetail.JobNumber as Job#,dbo.InvoiceLineDetail.PatientName,
       dbo.InvoiceLineDetail.CustomerAccountName as Name, COALESCE(InvoiceLineDetail.ShipAddressAddr2 + ' ','') + COALESCE(InvoiceLineDetail.ShipAddressAddr3+' ','') as Address,
       dbo.InvoiceLineDetail.ShipAddressCity as City, dbo.InvoiceLineDetail.ShipAddressState as State,
       dbo.InvoiceLineDetail.ShipAddressPostalCode as ZipCode, dbo.InvoiceLineDetail.ShipAddressCountry as Country , dbo.JobStatus.ShipTransmitStatus as Status, dbo.JobStatus.ShipTrackingNumber as Tracking#, dbo.JobStatus.Carrier, dbo.JobStatus.ShipMethodTransmitted as MethodTransmitted,
       dbo.JobStatus.DateShipTransmitProcessed as DateProcessed, dbo.JobStatus.ShipmentProcessedBy as ProcessedBy, dbo.JobStatus.Critical,  dbo.JobStatus.JobTableId as JobID, dbo.JobStatus.InvoiceStatus,
       dbo.InvoiceLineDetail.Quantity, dbo.InvoiceLineDetail.ChargeGroup
       FROM dbo.InvoiceLineDetail INNER JOIN
       dbo.View_JobsToShipCount ON dbo.InvoiceLineDetail.CustomerAccountName = dbo.View_JobsToShipCount.CompanyName INNER JOIN
       dbo.JobStatus ON dbo.InvoiceLineDetail.JobID = dbo.JobStatus.JobTableId
       WHERE (dbo.InvoiceLineDetail.ChargeGroup = N'Lens')

我得到一个错误:“WHERE”附近的语法不正确。无法找到问题:

从以下位置删除最后一个逗号:

ShipMethodTransmitted = @MethodTransmitted,
i、 e.改为:

ShipMethodTransmitted = @MethodTransmitted
作为对此类错误的一般回答:

在错误消息中建议的关键字附近查找。 如果您的错误消息给了您一行错误所在的代码,请查看该代码。线 这正是我现在所做的。我看了看附近的地方,看到了多余的逗号

ShipMethodTransmitted = @MethodTransmitted,
删除@Method后面的逗号


在SaveDataSet函数中,SQL命令在WHERE子句之前有一个额外的逗号