VB2005にてSQLServerを用いてレコードを追加するには?

解決


FUMIYA  2007-11-27 04:23:20  No: 138208

私はVBが全くの初心者の者です。
スタッフマスタメンテの登録プログラムを作成しています。
VB2005、SQLServer、を使用しています。

例えば、スタッフコードが"001"のデータを画面から登録したとします。
その後続けて"001"のスタッフコードで登録しようとすると、『既に登録されています』のエラーメッセージが出ます。が、実際のDBを見てみると、"001"のスタッフコードのデータは登録されていない、という状況が起きています。
データベース開発入門の本を見ながら、作成しているのですが、本にあるサンプルプログラムの通りにコーディングしているのですが、何故かうまくいきません。何か足りないコーディングがあるのでしょうか?

'レコードの定義
Dim newrecord As スタッフマスタDataSet.スタッフマスタRow = Me.スタッフマスタDataSet1.スタッフマスタ.NewスタッフマスタRow()

'レコードにデータをセットする
newrecord.スタッフコード = txtSyaban.Text

'新規行をデータテーブルに追加する
Me.スタッフマスタDataSet1.スタッフマスタ.AddスタッフマスタRow(newrecord)

'テーブルアダプタを介して、スタッフマスタを更新する
Me.スタッフマスタTableAdapter1.Update(Me.スタッフマスタDataSet1.スタッフマスタ)


特攻隊長まるるう  2007-11-28 00:03:51  No: 138209

TableAdapter は全く使ったことありませんので、
ざっと検索しただけで回答します。

[TableAdapter の概要]
http://msdn2.microsoft.com/ja-jp/library/bz9tthwx(VS.80).aspx
>TableAdapter の場合、最初の作成時には、基になるデータベースに更新を戻す機能がありません。

UPDATE コマンドは設定したんですか?


FUMIYA  2007-11-28 18:30:19  No: 138210

分かりました。  原因はこれでした。(↓)
http://www.ailight.jp/blog/unaap/archive/2005/12/07/10249.aspx

ここで質問させて頂いてからも調べ続け、この(↑)サイトに辿り着いた、というわけです。。。
私と同じようにハマった人、多いみたいです。。。
お騒がせ致しました。m(__)m


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加