2017-07-09 4 views
0

を挿入します。削除する前に削除し、私はSQLに新しいですので、私は、たとえば、その文に私は、私が挿入する行に置き換えられて削除された行を挿入delete文を使用しています問題に直面声明に

表:

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

コード:

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

後デルへの道がある場合は、INSERT文を使用した後、前の表に

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

この問題:

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

コード:行を挿入した後

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

行をeting挿入文を使用した後、このテーブルのように見えるようにします。

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

更新

私は、主キーを使用することを忘れ、それが私のために働いた、私はorder byを使用しようと、それは

+1

どのdbmsを使用していますか?あなたの主キーは何ですか?データベースから結果を取得するときにカウントで注文することはできませんか? – Ivar

+2

あなたが必要とするのは 'order by'です。 –

+3

ほとんどのデータベースはデフォルトではソートされていません。特定の順序の結果を持つために 'ORDER BY 'を指定せずに' SELECT'を仮定しないでください – Sentry

答えて

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

私を助けていないORDER BYは、あなたがここに探しているものです。直接指定することなく安全に推論できる順序はありません。

+0

助けてくれてありがとうございますが、私の場合はうまくいきませんでした。 –

+0

主キーであっても、ORDER BYを使用しないと、特定の注文は保証されません。あなたが正しい注文を受けている場合は、ORDER BYを使わずにいつもそれを期待することはできません。これは、SQLがセットベースの操作を使用しているためです。特定の注文が必要な場合は、常にORDER BYを使用する必要があります。 –

+0

この行が 'DGV'に表示されない場合でも、定義されたデータ型で' Count'列をソート( 'order by')しますか? –

関連する問題