2017-07-09 9 views
0

Ich bin neu in SQL, so dass ich vor einem Problem, wenn delete-Anweisung verwenden dann Anweisung die Zeilen einzufügen, die ich durch die Reihe ersetzt gelöscht, die ich einsetzen werde, zum Beispiel:Löschen und Einfügen Anweisung

vor dem Löschen eine Reihe

Tabelle:

Count | Username | Time 
------+----------+------ 
    10 | MMMMM | 20:00 
    11 | UUUUU | 23:00 
    12 | NNNNN | 23:30 

Code:

SqlCommand cmd = new SqlCommand("delete from table where [Count] = 11", con); 
cmd.ExecuteNonQuery(); 

Nach del eine Reihe eting:

Count | Username | Time 
------+----------+------ 
    10 | MMMMM | 20:00 
    12 | NNNNN | 23:30 

Code:

SqlCommand cmd = new SqlCommand("insert into table values (13,'SSSSS', '01:00')", con); 
cmd.ExecuteNonQuery(); 

Nach Einfügen einer Zeile: Dies ist das Problem in der vorherigen Tabelle

Count | Username | Time 
------+----------+------ 
    10 | MMMMM | 20:00 
    13 | SSSSS | 01:00 
    12 | NNNNN | 23:30 

nach Insert-Anweisung verwendet wird, wenn es eine Möglichkeit, Lassen Sie es nach der Verwendung der Anweisung insert aussehen:

Count | Username | Time 
------+----------+------ 
    10 | MMMMM | 20:00 
    12 | NNNNN | 23:30 
    13 | SSSSS | 01:00 

aktualisieren

ich vergessen Primärschlüssel zu verwenden, und es funktionierte für mich, ich versuchte order by zu bedienen und es hat mich nicht

+1

Welche DBMS verwenden Sie? Was ist dein Primärschlüssel? Können Sie nicht einfach nach Anzahl sortieren, wenn Sie die Ergebnisse aus der Datenbank erhalten? – Ivar

+2

Alles, was Sie brauchen, ist 'order by' –

+3

Die meisten Datenbanken sind standardmäßig unsortiert. Nimm KEINE 'SELECT' an, ohne ein' ORDER BY' anzugeben, um eine bestimmte Reihenfolge der Ergebnisse zu erhalten. – Sentry

Antwort

0
SELECT [Count], Username, Time 
FROM Table 
ORDER BY [Count] 

ORDER BY helfen ist, was Sie hier suchen . Es gibt keine Reihenfolge, die ohne direkte Angabe angenommen werden kann.

+0

Danke für Hilfe, aber es hat in meinem Fall nicht funktioniert. –

+0

Auch mit einem Primärschlüssel, wenn Sie ORDER BY nicht verwenden, wird Ihnen keine bestimmte Bestellung garantiert. Wenn es passiert, dass Sie die richtige Reihenfolge erhalten, können Sie nicht immer darauf zählen, ohne ORDER BY zu verwenden. Dies liegt daran, dass SQL menügeführte Operationen verwendet. Wenn Sie eine bestimmte Bestellung erwarten, sollten Sie immer ORDER BY verwenden. –

+0

Sortiert (? Order by?) Die Spalte "Count" nach dem definierten Datentyp, auch wenn diese Zeile nicht für die Anzeige in der DGV ausgewählt wird? –

Verwandte Themen