2012-01-04 15 views
0

私は、マイグレーションツールを使用して、CRUD操作と他のいくつかのdooDad操作を実行するためのデータベースの処理を担当する抽象クラスを作成しています。問題は、私は、コードMS AccessデータベースのMygeneration autonumberフィールドのバグ

Employees newObj = new Employees(); 
newObj.ConnectionString = connectionString; 
newObj.AddNew(); 

// Your Properties will be different here 
newObj.FirstName = "Joe"; 
newObj.LastName = "Plank Plank"; 

newObj.Save(); 
int staffid=newObj.StaffID; 

同じことが、MS SQLサーバーや他のデータベースでは正常に動作しているを使用して(それも主キーである)テーブルの自動番号フィールドを取得カントです。自動番号が瞬時に生成されないように見えます。これは、エントリを追加するとアクセスできます。しかし、後で、私はデータベースをチェックしているときに、私はそこに自動番号が生成されることがわかりました。わからない、なぜこれが起こっているのか。 dooDadsの専門知識を持っている人は、情報を参考にしてください。

編集: 主な問題は、新しく行エントリを作成した後すぐに自動番号フィールドにアクセスできなくなることです。 MS Accessのオートナンバーが表示されるまでに時間がかかっているように見えますし、VSでもこの現象を見ることができます。この問題を解決するには?

+0

奇妙なオブジェクトのリストを返すためにDodadsへの変更を作ったのですか?私は最初ですか? –

答えて

0

私はDoodadsを使用して、MS Accessを使用して多くのアプリケーションを構築しました。あなたはautonumberとしてファイルを作成し、ストアドプロシージャと他のクラスを生成するだけです。 すなわちあなたのコードが動作するはずですが...

も、私は誰もまだこの問題に直面していない、 How to get list of objects from BusinessEntity using myGeneration?

+0

そのフィールドは自動番号タイプです。実際には、後でそのフィールドにアクセスできますが、新しい行エントリを追加した直後に、そのオートナンバーフィールドにアクセスすることはできません。また、MS Accessデータベーステーブルにデータを追加すると、自動番号フィールドが少し後に表示されることに同意します。それを修正するには? –

+0

通常はCalling Save()の後にautonumberフィールドにアクセスできます。それ以外の場合はIDの代わりにs_IDを使用します。 – houssam11350

関連する問題