mysql 在刚刚删除的记录处插入新记录
mysql inserts new record where record was just deleted
我在删除记录后在 mySQL 中插入时遇到问题。新插入的记录在其他记录之前插入,在先前记录被删除的位置。
所以,如果我有三个这样的记录:
SnippetNum Snippet
1 #1
2 #2
3 #3
如果我删除记录#1,下一条记录会像这样插入
SnippetNum Snippet
4 #4
2 #2
3 #3
这打乱了我的记录在 checkedListBox 中的显示方式
下面是在checkedListBox中显示项目的代码
private void RefreshCheckedListNoteSnippets() {
AnesthNoteSnippets.Refresh();
checkedListNoteSnippet.Items.Clear();
for (int i = 0; i < AnesthNoteSnippets.List.Length; i++) {
string command = "SELECT Snippet FROM anesthnotesnippet WHERE SnippetNum = " + AnesthNoteSnippets.List[i].SnippetNum + " ORDER BY SnippetNum ASC";
string snippet = DataCore.GetScalar(command);
if (snippet != String.Empty) {
checkedListNoteSnippet.Items.Add(snippet, false);
}
}
}
这是我插入的代码:
public static void Insert(string snippet) {
string command = "INSERT INTO anesthnotesnippet (Snippet)" +
" VALUES ('" + snippet + "')";
DataCore.GetScalar(command);
}
感谢任何建议
在 SQL 中,行在表中没有保证的内在排序顺序,DBMS 可以自由地将它们放在它想要的地方。
如果您需要以特定方式对它们进行排序,这就是您在提取时所做的事情,您似乎已经在 select
语句中进行了排序。
但是,由于无论如何您一次只执行一个片段(使 order by
变得多余),看起来它会归结为以下指定的顺序:
for (int i = 0; i < AnesthNoteSnippets.List.Length; i++)
那是你需要集中注意力的地方,很可能AnesthNoteSnippets.List
没有按照你想要的方式排序。
检查 AnesthNoteSnippets.Refresh()
调用以确保列表在刷新时正确排序。
我在删除记录后在 mySQL 中插入时遇到问题。新插入的记录在其他记录之前插入,在先前记录被删除的位置。
所以,如果我有三个这样的记录:
SnippetNum Snippet
1 #1
2 #2
3 #3
如果我删除记录#1,下一条记录会像这样插入
SnippetNum Snippet
4 #4
2 #2
3 #3
这打乱了我的记录在 checkedListBox 中的显示方式
下面是在checkedListBox中显示项目的代码
private void RefreshCheckedListNoteSnippets() {
AnesthNoteSnippets.Refresh();
checkedListNoteSnippet.Items.Clear();
for (int i = 0; i < AnesthNoteSnippets.List.Length; i++) {
string command = "SELECT Snippet FROM anesthnotesnippet WHERE SnippetNum = " + AnesthNoteSnippets.List[i].SnippetNum + " ORDER BY SnippetNum ASC";
string snippet = DataCore.GetScalar(command);
if (snippet != String.Empty) {
checkedListNoteSnippet.Items.Add(snippet, false);
}
}
}
这是我插入的代码:
public static void Insert(string snippet) {
string command = "INSERT INTO anesthnotesnippet (Snippet)" +
" VALUES ('" + snippet + "')";
DataCore.GetScalar(command);
}
感谢任何建议
在 SQL 中,行在表中没有保证的内在排序顺序,DBMS 可以自由地将它们放在它想要的地方。
如果您需要以特定方式对它们进行排序,这就是您在提取时所做的事情,您似乎已经在 select
语句中进行了排序。
但是,由于无论如何您一次只执行一个片段(使 order by
变得多余),看起来它会归结为以下指定的顺序:
for (int i = 0; i < AnesthNoteSnippets.List.Length; i++)
那是你需要集中注意力的地方,很可能AnesthNoteSnippets.List
没有按照你想要的方式排序。
检查 AnesthNoteSnippets.Refresh()
调用以确保列表在刷新时正确排序。