
初めて投稿します。
VisualBasic2005、SQL Server2005 EXPRESSで開発を行っております。
初心者なので簡単な内容なのでしょうが、糸口がつかめず思考がストップしています。
DataGridViewに1つのテーブルをバインディングでドラッグアンドドロップし、IDで紐付く別テーブルの名称を1カラム追加しています。
DataGridView上でIDを変更し、それに合わせて名称が変更されます。
変更後の状態をBindingNavigatorの保存ボタンで保存をしたいのですが、次にフォームを開いても変更が反映されていません。
検索結果にも同様の質問と回答があったので試みましたが解決しておりません。
因みにコードは以下です。
Private Sub T_payscheduleBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles T_payscheduleBindingNavigatorSaveItem.Click
Try
"テーブル名"TableAdapter.Update(MoPDataSet.テーブル名)
Catch ex As Exception
End Try
End Sub
長くなりましたがよろしくお願いします。
No.3ベストアンサー
- 回答日時:
そうなると、#1さんが仰るように、主キーの問題のような気がします。
以下は、DataSet内でTableAdapterを追加して使っている事を前提にしています。DataSetのTableAdapter作成は、次のような癖を持っています。・主キーを持つDataBaseのTableのTableAdapterを追加した場合、初回作成時には、Updateコマンドが自動で追加されます。
・主キーを持たないDataBaseの場合、UpdateコマンドをTableAdapterに手動で追加する必要があります。
・途中から主キーを持たせても、その変更は自動で反映されません。手動で追加します。
ただし手動追加のUpdateコマンドでは、Update(MoPDataSet.テーブル名)タイプのコマンドを作れません(コードを書けば別ですが)。なので一番早いのは、主キーを持たせたのち、該当TableAdapterをいったん削除して、もう一度作り直す事です。
Tableのドラッグアンドドロップ時にはDataBaseに主キーがなく、その時にTableAdapterが、DataSet内に自動生成されたのでは?、と想像しています。
もう一つの可能性は、そのDataGridViewは、選択QueryTableになっています。開発環境が勝手に解釈して、DataSet内に選択QueryTableを生成した可能性もあると思います。選択QueryTableは、Updateできなかったと思います。
ご回答ありがとうございます。
TableAdapterを再作成したら保存が効くようになりました!!
開発開始の段階でこの状態なので、また行き詰りましたら質問を投稿させていただきます。
ddtddtddtさんはじめ、回答をいただいた皆様ありがとうございました。
No.2
- 回答日時:
DataSetはご使用でしょうか?。
もしそうなら、「出力ディレクトリにコピー」のプロパティーが「常にコピーする」になっていないでしょうか?。違うかも知れませんが、初めてDataSetを使ったとき、半日ほど悩んだもので・・・。
あと、「Catch ex As Exception」はやめた方が・・・、と思います。Try~Catchブロックを使うなら、もっと細かく場合わけしないと、不要にデバックが面倒くさくなる気がします。大きなお世話ですが・・・。
ご返答ありがとうございます。
DataSetは使用しています。元々、セーブボタンを押しても名何の反応もなかったので、再度フォームを作り直してみました。
そうすると、セーブボタンを押下したらBindingNavigatorで自動で作成されるソースで動作するようにはなったのですが、今度は”Me.テーブル名TableAdapter.Update(Me.MoPDataSet.テーブル名)”の所で下記のエラーが表示されるようになってしまいました。
”更新には、変更された行を含む DataRow コレクションが渡されたとき、有効な UpdateCommand が必要です。”
何をどう調べればよいのかを調べている状態です。
情報をお持ちでしたらよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のExcelファイルをマージす...
-
vbsでのwebフォームへの入力制限?
-
Vba セルの4辺について罫線が有...
-
Excelマクロで使うVBAコードを...
-
エクセルのマクロについて教え...
-
ExcelVBAでパワポを操作したい
-
(EXCEL超初心者)EXCELの関数(ま...
-
Excelのマクロについて教えてく...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
【マクロ】変数を使った、文字...
-
エクセルのVBAコードについて教...
-
ワードの図形にマクロを登録で...
-
【マクロ】切取りの場合、形式...
-
改行文字「vbCrLf」とは
-
testファイル内にある複数のpng...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルからアクセスにインポ...
-
ACCESS テーブルに2行目から取...
-
他ファイルのテーブルの情報を...
-
C#でaccdbファイルのテーブルの...
-
(ACCESS)複数mdbからのデータ...
-
アクセスマクロで、csv データ...
-
データ読込時のタイムアウト
-
mdb→csvへのエクスポートについて
-
Access2019でフォームから入力...
-
JSPでデータベース作成
-
テーブルのリンク(ACCESS)
-
VBAで データベースにデータを...
-
シーケンシャルアクセスについて
-
VBでCSVデータをMDB
-
ACCESSのリンクについて
-
Accessでボタンを押したらエク...
-
Accessの接続先をSQLサーバ...
-
jspのプログラムについて
-
アクセス初心者に注意点を教え...
-
画面から入力した値がDBに登録...
おすすめ情報