2008-09-01 9 views
3

私はWinFormsでちょっと汚くなっています。素敵なチュートリアルでデータベーステーブルをデザインビューにドラッグするという魔法を発見しました。メインフォーム。だから、すべて素敵です、私は美しく表現されたすべての列で自分のDataGridViewを持っている。C#WinForms - DataGridView/SQLコンパクト - 主キー列の負の整数

しかし...私は(空そのものである、私が作成した二つのテーブルのための空の保管)このブランドの新しい、空の.sdfに対する自分のアプリケーションを実行すると

、私が得る-1に最初のレコードを作成しようとするたびに、私の主キー/アイデンティティ列に対応する列。

これはなぜ起こっているのでしょうか?役立つ場合は、列はintです。

答えて

3

これはID列であり、データベースに保存していないため、-1です。私はあなたがデータベースに戻ってテーブルを保存する前であることをここで仮定しています、正しいですか?その値が正しく設定される前に挿入を実行する必要があります。

5

"真"の行がゼロより小さい可能性が高いため、@Brian -1はデフォルト値に適しています。デフォルト値が0または1の場合、既存の行と衝突して主キー違反が発生する可能性があります。

オフラインにして保存する前に複数の行を作成するアプリケーションでは、新しい行のIDごとに逆方向(-2、-3、-4)カウントを続けるのが一般的です。そして、それらが保存されると、サーバーはそれらを表の真の「次の」値で置き換えることができます。