C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

オートナンバーの取得

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■102675 / inTopicNo.1)  オートナンバーの取得
  
□投稿者/ Y.M (1回)-(2023/12/06(Wed) 08:17:34)

分類:[C#] 

C#とAccessを使ってクラサバシステムを構築しています。
C#でaccessのオートナンバーを取得する所で躓いてしまいました。
どなたかC#を使ったオートナンバーの取得方法ご存知の方、ご教授お願いします

よろしくお願いします
引用返信 編集キー/
■102676 / inTopicNo.2)  Re[1]: オートナンバーの取得
□投稿者/ 魔界の仮面弁士 (3733回)-(2023/12/06(Wed) 09:47:52)
No102675 (Y.M さん) に返信
> C#でaccessのオートナンバーを取得する所で躓いてしまいました。

データベースバージョンにもよりますが、
 sql = "SELECT @@IDENTITY";
なクエリーを実行することで、直前に発行されたオートナンバーを得ることができます。
(他のトランザクションで生成されたオートナンバーは得られません)

あるいは DataSet で扱う場合の DataTable 側での C# 側での採番ルールの話であれば、AutoIncrement プロパティを true にします。
https://learn.microsoft.com/ja-jp/dotnet/api/system.data.datacolumn.autoincrement?WT.mc_id=DT-MVP-8907
https://learn.microsoft.com/ja-jp/dotnet/framework/data/adonet/retrieving-identity-or-autonumber-values?WT.mc_id=DT-MVP-8907
引用返信 編集キー/
■102677 / inTopicNo.3)  Re[1]: オートナンバーの取得
□投稿者/ WebSurfer (2832回)-(2023/12/06(Wed) 09:50:35)
No102675 (Y.M さん) に返信

> C#でaccessのオートナンバーを取得する所で躓いてしまいました。
> どなたかC#を使ったオートナンバーの取得方法ご存知の方、ご教授お願いします

Access のあるテーブルの ID 列(主キー)がオートナンバーに設定してあって、新規レコードを
INSERT した時に Access 側で採番したオートナンバー値を取得したいということですか?

であれば、SELECT @@IDENTITY クエリを使ってはいかがですか? 詳しくは、以下の Microsoft
のドキュメントを見てください。

@@IDENTITY危機の管理
https://learn.microsoft.com/ja-jp/previous-versions/dotnet/articles/ms971502(v=msdn.10)?redirectedfrom=MSDN

WinForms アプリで DayaGridView + TableAdapter を使っての具体例も参考に乗せておきます。
(こういうことがしたいのではなかろうかと想像して)

Access の更新
http://surferonwww.info/BlogEngine/post/2010/09/04/Updating-Access.aspx

紹介した前者の記事の「@@IDENTITYに関する問題」に書いてありますが、@@IDENTITY には少々
問題があるそうです。

SQL Server ならそういう問題を回避するために SCOPE_IDENTITY() 関数を利用できますが、
Access では何ともなりません。記事に書いてあるように「うまくいけば、それはあなたが退職
するまで起こりません」ということを期待するほかなさそうです。
引用返信 編集キー/
■102678 / inTopicNo.4)  Re[1]: オートナンバーの取得
□投稿者/ WebSurfer (2833回)-(2023/12/06(Wed) 09:57:50)
No102675 (Y.M さん) に返信

No102677 内のリンク張り直し(このサイトは URL 内のカッコを認識してくれないので
パーセントエンコードしました)

@@IDENTITY危機の管理
https://learn.microsoft.com/ja-jp/previous-versions/dotnet/articles/ms971502%28v=msdn.10%29
引用返信 編集キー/
■102683 / inTopicNo.5)  Re[2]: オートナンバーの取得
□投稿者/ Y.M (5回)-(2023/12/10(Sun) 11:15:17)
No102678 (WebSurfer さん) に返信
> ■No102675 (Y.M さん) に返信
>
> No102677 内のリンク張り直し(このサイトは URL 内のカッコを認識してくれないので
> パーセントエンコードしました)
>
> @@IDENTITY危機の管理
> https://learn.microsoft.com/ja-jp/previous-versions/dotnet/articles/ms971502%28v=msdn.10%29

無事解決できました
有難うございました
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ