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

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

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

Re[3]: ADO.NETで御質問御願いいたします。


(過去ログ 74 を表示中)

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

■43267 / inTopicNo.1)  ADO.NETで御質問御願いいたします。
  
□投稿者/ がながな (1回)-(2009/11/04(Wed) 12:17:47)

分類:[.NET 全般] 

お世話になります。
今まではADOを使用していたのですが、このたびADO.NETに変更しようかと思い、御登校させていただきます。
早速ですが、「商品マスタ」テーブルにオートナンバー型のフィールドIDとテキスト型のフィールド商品名があります。
ADOの時は、

dim ADDID as long
rs.addnew
rs!商品名="TEST"
rs.UPDATE
ADDID=rs!ID
debug.peint ADDID

とした時、オートナンバー型のフィールドの値が表示されました。

ADO.NETで下記のようにやってみたのですが、上手く行きません
MyRow("商品名") = "TEST"
MyTable.Rows.Add(MyRow)
Mycmd = New SqlCommandBuilder(MyAdapter)
MyAdapter.InsertCommand = Mycmd.GetInsertCommand

'//---sqlDataadapterオブジェクトを更新
MyAdapter.Update(MyDataSet, "TU2101_納品リスト")

'-------------ここが知りたいです。-----------------
'//---メインIDを取得
ADDID= MyTable.Rows(0)("ID")
debug.print ADDID



ADO.NETとした場合、どのようにすればこれが実現できるのでしょうか?
よろしく御願いいたします。
引用返信 編集キー/
■43269 / inTopicNo.2)  Re[1]: ADO.NETで御質問御願いいたします。
□投稿者/ Jitta on the way (474回)-(2009/11/04(Wed) 12:37:03)
No43267 (がながな さん) に返信

使用するデータベースとそのバージョンはなんですか?
SQL Server 2005には、その為のコマンドがあります。Books Online の INSERT を確認して下さい。
Oracle は、10までにはありません。11以降は知りません。


> ADO.NETで御質問御願いいたします。
これだと他の人に「質問をしてください」とお願いしていることになります。

> 御登校させていただきます。
投稿と登校を間違って変換しているのと、「投稿する」のは自分なので、自分に属するものに「お」は付けない。
「投稿いたします」で十分。
引用返信 編集キー/
■43271 / inTopicNo.3)  Re[2]: ADO.NETで御質問御願いいたします。
□投稿者/ がながな (3回)-(2009/11/04(Wed) 12:43:23)
Jitta on the way 様申し訳ございませんでした。
サーバはSQLSERVER2000で開発環境はVB.net2008になります。
よろしく御願いいたします。
引用返信 編集キー/
■43273 / inTopicNo.4)  Re[3]: ADO.NETで御質問御願いいたします。
□投稿者/ Jitta on the way (476回)-(2009/11/04(Wed) 12:52:05)
No43271 (がながな さん) に返信
> Jitta on the way 様申し訳ございませんでした。
> サーバはSQLSERVER2000で開発環境はVB.net2008になります。
> よろしく御願いいたします。

ADO と ADO.NET は、名前は似ていますが、別の思想によるものと考えたほうがいいでしょう。ADO.NET は、オフラインでも、ある程度機能します。
先ず、Books Online の Insert で、特定の列に入力した値を外部に取り出す方法がないか調べてください。2005 には、そういう機能拡張があることを確認しています。
ない場合、外部から一位に判別できるデータを付加する列を追加し、insert 後、select して調べます。
引用返信 編集キー/
■43277 / inTopicNo.5)  Re[1]: ADO.NETで御質問御願いいたします。
□投稿者/ 魔界の仮面弁士 (1373回)-(2009/11/04(Wed) 13:13:02)
No43267 (がながな さん) に返信
> とした時、オートナンバー型のフィールドの値が表示されました。
直前に発行されたオートナンバー値を取得するのであれば、
SELECT @@IDENTITY や SCOPE_IDENTITY() を使うことができます。
SQL Server の場合には後者を試してみてください。


> '//---sqlDataadapterオブジェクトを更新
> MyAdapter.Update(MyDataSet, "TU2101_納品リスト")
DataTable 単位で行う場合には、DataColumn を AutoIncrement にしておく方法を
使う事もできます。下記を参照してみてください。
http://msdn.microsoft.com/ja-jp/library/ks9f57t0.aspx


No43273 (Jitta on the way さん) に返信
> ADO.NET は、オフラインでも、ある程度機能します。
ちなみに ADO にも、オフライン更新機能はあったりします。
引用返信 編集キー/
■43289 / inTopicNo.6)  Re[2]: ADO.NETで御質問御願いいたします。
□投稿者/ がながな (4回)-(2009/11/04(Wed) 16:55:33)
魔界の仮面弁士様 ありがとうございました。
解決いたしました。
引用返信 編集キー/
■43302 / inTopicNo.7)  Re[3]: ADO.NETで御質問御願いいたします。
□投稿者/ まさる (113回)-(2009/11/04(Wed) 22:43:17)
まさる さんの Web サイト
No43289 (がながな さん) に返信
> 魔界の仮面弁士様 ありがとうございました。
> 解決いたしました。

解決済みチェックつけときますね。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -