2016-08-27 7 views
-2

新しいセルのIDを書き込むにはidcorrectcounter(int)を使用し、更新する行を識別するにはi(int)を使用しました。datagridviewの値が "1"の場合、値は取得できません。

(Convert.ToInt32(txtrid.Text)-2)を使用して、行番号に従ってコードを実行しました。

削除後にIDセルを並べ替える必要があり、このコードはIDセルの1つが「1」になるまでうまく動作します。

int idcorrectcounter=0; 
for (int i = 0; i <= (Convert.ToInt32(txtrid.Text)-2); i++) 
{ 
    idcorrectcounter++; 

    connect.Open(); 
    SqlCommand idcorrect = new SqlCommand("Update bighall1record set ID=" 
              + idcorrectcounter.ToString() 
              + " where ID='" 
              + dataGridView1.Rows[i].Cells[0].Value.ToString() 
              + "'", connect); 

    idcorrect.ExecuteNonQuery(); 
    connect.Close(); 

    showdata("Select *from bighall1record"); 
} 

idcorrectcounter=0; 

答えて

0

ここでは、「IDのID」を設定していないと思います。

0

リセットオートインクリメント

テーブルの行を削除した後、そのようなテーブルのID列として列が自動インクリメントことがよくあります。これは単に、テーブルへの次の挿入が以前のものより1つ多いIDを持つことを意味し、したがってすべてのIDは一意であることを意味します。

ただし、テーブルから行を削除すると、その行はまったく削除されていないかのように自動的に増分されます。結果は一連の数字の間にギャップがあります。これは通常問題ではありませんが、自動増分フィールドをリセットしたい場合があります。

自動インクリメントフィールドをリセットする2つの簡単なステップがあります。 は、次のSQLコマンドを実行して、最高の番号を確認するには、自動インクリメントフィールドに

を最高番号を探す: SELECT MAX(columnが) FROM table;

'column'を自動インクリメント列の名前に置き換えます。表を表の名前に置き換えます。 自動増分フィールドをリセットする

次のステップは、最初のコマンドから取得した番号とそこから自動増分を取得することです。したがって、その番号に1を加えて、次のコマンドを実行してください。 ALTER TABLE table AUTO_INCREMENT = number;

'number'を前のコマンドの結果に加えて1に置き換え、テーブルをテーブル名に置き換えます。

テーブル内のすべての行を削除した場合、alter tableコマンドを実行して0にリセットすることができます。

関連する問題