我在更新以另一种形式从数据库中提取的datagridview上的选定行时遇到问题。 我用它来将数据从datagridview获取到另一种形式的文本框中:
close()
我找到了它的SQL查询,但不确定如何将其限制为仅包含所选行中的信息。现在,它将更新datagridview和数据库上的每个人。
有什么想法吗? 谢谢!
我试着放 MainForm.appointmentCalendar.CurrentRow.Cells [1] .Value.ToString();
与SQL查询中的WHERE一样,但它返回“需要对象引用”错误。
答案 0 :(得分:0)
有一列具有唯一客户ID的列,然后在您的查询中要
Update customer SET customerName = '{customerNameBox.Text}' where customerID = 'UniqueID'
-----(无论您要更新的ID是什么)
可能类似于int.Parse(otherDataGrid.selectedRows[0].Cells["ID"].Value.ToString())
@edit
我不太了解您要说的是什么。您可能要尝试使用参数。这将是您的查询:
Update appointment set type = @type, start = @start, end = @end where customerId = @id
然后在执行命令之前,先说:
updateCmd.Parameters.AddWithValue("@type", typeBox.Text);
,然后对所有其他参数执行该操作。 还要确保您的文本框不为空,因为它们很可能是您的查询正在删除数据(也许正在使用空字符串更新数据)