私は、AutoIncrement列を持つデータテーブルを持っています。新しい行を追加せずに列の次のインクリメント(-1、-2、-3、...)を取得するにはどうすればよいですか?datatable列の次のautoincrement値を取得しますか?
答えて
デザインに合っていれば、いつでも新しい行(datatable.newrow)を作成することができ、すでにnextIdが割り当てられています。今は無駄になっていますが、行はあなたがAcceptChanges
までテーブルにコミットされていません。
私が探していた答えではありませんが、テーブルが空でIDENT_CURRENTがまだ返されていれば – Rado
自動増分値は常にその列の最大値であるため、max(列名)+1を使用して取得することができます。
DataTableに対してSelectメソッドでMAX関数を使用できます。以下のような
何か(構文が完全に正しくない可能性があります):
DataRow row = dt.Select("MAX(id)")[0];
int nextId = row["id"] + 1;
MSDNには、使用できるすべての式を持つページがあります。 DataColumn..::.Expression Property
私は AutoIncrement列を持つデータテーブルを持っています。
AIカラムを持つデータテーブル、またはAIカラムを持つSQLデータベースがありますか?列を持つSQLデータベースの場合は、DataTableが切断されているため、次の値を取得できません。それ以外の場合は、挿入を行い、@@ IDENTITYまたは同様の機能を使用するまで待つ必要があります。
これはAI列のデータテーブルです – Rado
SQL Serverを使用している場合は、あなたができる:
SELECT cast(last_value as integer)+cast(increment_value as integer)
FROM sys.identity_columns
WHERE object_id=(SELECT id FROM sys.sysobjects WHERE name='PACLogErros')
AND name='ERRCod'
最良の方法は、我々はSQLは、次のアイデンティティを計算しているアルゴリズムを推測することはできませんのでアンドリューが述べたように@@ IDENTITYを使用することです複数の人がデータベースを更新すると考えると、データベースに行を保存しようとすると計算したID値が同じにならない
私はこの問題を解決しました(回避策なし):
次の自動iを取得するにはSQLServerのからncrement値:
SELECT IDENT_CURRENT('table_name'); -- This will fetch the present auto-increment value.
したがって、
SELECT IDENT_CURRENT('table_name')+1; -- Next auto-increment value.
行がアイデンティティをテーブルから削除されている場合、これは中断されませんし、キーが連続していないです。
希望に役立ちます。
を実行する必要があります。 ** 0 **と思われます。 1を返し、1をインクリメントすると2になります。これは間違っています。 –
- 1. primeng datatable - 別の列の値を取得
- 2. primeng datatable列から値を取得
- 3. DataTableから値を取得
- 4. Cの次の列挙値を取得しますか?
- 5. php 2次元配列の値を取得しますか?
- 6. Datatableから列の値を取得する方法
- 7. Shiny DataTableのセルから値を取得
- 8. PHP配列の次の値を取得
- 9. Datatableボタンからid値を取得
- 10. Jquery DataTableから隠し列の値を取得する方法1.10.12
- 11. jquery datatable:ボタンのクリックで全体の列値を取得
- 12. jQuery Datatableの隠しカラムから値を取得する
- 13. 多次元配列からUnique値を取得し、Not Setと等しくない値を取得します。
- 14. .NET 2.0でDataTableの列と異なる値を取得
- 15. 次のコードから 'href'値を取得しますか?
- 16. 2次元配列の列の最小値を取得する
- 17. 次のjson配列ノードから値を取得する方法
- 18. C#DataTableまたはBindingSourceから値を取得する
- 19. asp.netのDataTableからすべての行を取得します
- 20. 配列内の配列から値を取得しますか?
- 21. パンダ:文字列一致後の列の次の値を取得
- 22. DataTableからセルの値を取得する方法
- 23. 2次元配列の列の集計を取得します。
- 24. UIコントロールにデータをバインドせずにDataTableから値を取得しますか?
- 25. Yajra DatatableはIdで文字列を取得します
- 26. DataTable - Varchar()列からMax()の値を探しますか?
- 27. PHP /配列:多次元から配列の値を取得できません
- 28. 次のタイムスタンプ値の取得
- 29. 次のキーから配列値を取得
- 30. 多次元配列から一意の値を取得
私はちょうど興味があります、なぜあなたはそれを行う必要がありますか? –
私は1対1または1対1の関係を持つ親テーブルと子テーブルを持っています。私は両方の列を持つDataGridViewを表示し、子があるかどうかにかかわらず、親からのすべての行を表示したいが、子要素(本質的に2列)はまだ編集可能でなければならない。したがって、子がすでに存在する場合、既存の子の子列の編集はデータベースの編集を行いますが、存在しない子の編集は挿入を生成します。挿入用のIDを生成する必要はありません(一時的な一時的なものであるため)。将来の拡張機能にはこれが必要な場合があります。 – Rado