我有一个关于交换我的数据库表中的几个值的问题。
我要建立的是一个显示调查的网站(在 ASP.net 中)。这些问题将存储在一个名为SURVEY_QUESTIONS
(在 SQL Server 中)的表中。
该表具有以下列:
- 调查问题 ID(整数)
- 问题(字符串)
- 类型(字符串)
- 活跃(布尔)
- 订单(整数)
现在,一个问题将存储在问题列中,例如:
您对目前的状况满意吗?
类型将是多项选择或开放列。活跃意味着如果它是活跃的,那么只有问题才会显示在调查中。我遇到的问题是最后一列,order
. 我想将问题从最低到最高排序。因此,如果我有 5 个问题,它们将按照顺序列 1、2、3、4、5 很好地排序。
我有一个 C# (Winforms) 应用程序,我可以在其中添加问题并对其进行编辑。我在 datagridview 中执行此操作,并使用数据集填充网格视图。例如,当我按下保存按钮时,datagridview 中的更改将更新到我的数据库中。
现在假设问题一的订单号为 3,问题五的订单号为 1。我希望问题一是第一个显示的问题,这意味着它的订单号应该是 1。但是在这种情况下,问题五已经有该订单号,我想要的是,每当将“占用”的订单号分配给另一个问题时,它们的订单号就会交换。
我在保存按钮后面有以下代码来更新数据库:
DialogResult dr = MessageBox.Show("Are you sure want to edit a question?", "Message", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
if (dr == DialogResult.Yes)
{
this.SURVEY_QUESTIONTableAdapter.Update(_PVB1314_005DataSet.SURVEY_QUESTION);
datagridviewTest.Refresh();
MessageBox.Show("Database updated");
}
我希望有人可以帮助我解决这个问题,在此先感谢。