【发布时间】:2016-02-25 02:28:03
【问题描述】:
我正在尝试在第一个空列中添加值。这是我的代码-
SqlCommand cmd = my_con.CreateCommand();
cmd.CommandText = "insert into Contents(General_Exam) values(@CC)";
cmd.Parameters.AddWithValue("@CC", txtAddOption.Text);
cmd.ExecuteNonQuery();
comboBoxAddOption.Items.Add(txtAddOption.Text);
SqlCommand cmd1 = new SqlCommand("update TOP(1) Contents SET General_Exam=@CC where General_Exam IS NULL", my_con);
cmd1.Parameters.AddWithValue("@CC", txtAddOption.Text);
cmd1.ExecuteNonQuery();
但是当我插入值时,它没有插入第一个空行,而不是插入最后一个空行。我认为这是因为 Top(1) 占据了顶行。但我想插入第一个空行有人知道我怎么能做到这一点,请告诉!先谢谢了。
【问题讨论】:
-
您使用的是什么关系型数据库? stackoverflow.com/help/how-to-ask
-
定义“第一个”和“最后一个”。 SQL Server 中没有保证行的隐式顺序。您需要明确标识要更新的记录,在这种情况下可能使用明确的
ORDER BY。 -
我使用的是sql server management studio(SQL)
-
扩大戴维斯评论。你需要别的东西来查看记录的顺序。可以使用最后编辑或输入的日期。您还可以查看标识列的使用。如果您正在寻找“第一条”或最旧的记录,这应该会使这变得更容易。否则,如前所述,由于排序不明确,您将得到不同的结果。
-
是的,我想到了 ORDER BY,但我不明白 ORDER BY 我必须做什么?