0

接続されている MS ACCESS データベースを VB.NET で更新する方法を教えてください。

MS Access 2013 Visual Studio 2012 (フレームワーク 4.0)

問題:「保存」ボタンを押しても、DataGrid がソースの MS Access データベースを更新しません。それだけ

基本的に、標準的な方法で接続をセットアップしました。これは、私の失敗した構造の非常に一般的で基本的なバージョンです。

Imports System.Data.OleDb

Public Class Form1

Private Sub StudentBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles StudentBindingNavigatorSaveItem.Click
    Me.Validate()
    Me.StudentBindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.TestdbDataSet)

End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'TestdbDataSet.Student' table. You can move, or remove it, as needed.
    Me.StudentTableAdapter.Fill(Me.TestdbDataSet.Student)

End Sub

End Class

これは、セットアップ ウィザードから生成されたシステム コードです。私はこの一見問題のない問題を修正するために、過去 8 時間を費やしました。私はただ疲れ果てています。

4

4 に答える 4

0

Visual Studio の [開始] ボタンを使用してアプリケーションを開始すると、新しいデータベースがアプリケーション ファイル ( "/debug/youraplication.exe" に保存されている) にコピーされます。デバッグ フォルダーで youraplication.exe を直接実行してから、アプリケーションを使用してデータベースを挿入/削除/更新し、アプリケーションを閉じて、debug フォルダーに格納されている databasee.accdb を開くと、データベースに含まれていることがわかります。入力

于 2014-02-09T09:41:01.680 に答える
0

コミュニティ、

追加の調査と多くの試行錯誤の後、vb.NET で MS ACCESS データベースを更新する方法を見つけました。基本的には、インポートしたデータベースのプロパティを 1 つ変更し、インポートしたデータセットの更新コマンドを変更する必要があります。ここでは、手順の完全なチュートリアルを示します。

►MS Access 2013
►Visual Studio 2012
►.NET Framework 4.5

(最良の結果を得るには、慎重に各ステップに従ってください)。

ステップ 1: サンプル MS Access データベースを作成する

  • テーブル名:** "テーブル A"
  • フィールド 1: "ID" | 【オートナンバー型プロダクトキー】
  • フィールド 2:「タイトル」 | 「サンプルA」、「サンプルB」、…「サンプルG」
  • フィールド 3: "ヴァル" | "a"、"b"、...、"g"
  • 名前を付けて保存: 「SampleAccessDatabase.mdb」
  • 閉じる: MS Access を閉じます

ステップ 2: Visual Studio 2012 プロジェクトを開く

  • 新しいプロジェクト: テンプレート ► Visual Basic ► 「Windows フォーム アプリケーション」

ステップ 3: MS Access データベースに接続する

  • 新しいデータ ソースの追加 ► データベース [次へ>] ► データベース [次へ>] ► 新しい接続
  • 接続ウィンドウの追加: データ ソース ► 「Microsoft Access データベース ファイル (OLE DB)」
  • 接続ウィンドウの追加: データベース ファイル名 ► 参照 ► 「SampleAccessDatabase.mdb」ファイルを取得 ► [OK をクリック]
  • 接続ウィンドウの追加: [Hit OK] ► [Next>] ► [Hit Yes] ► [Next >]
  • データベース オブジェクトの選択: 「テーブル A」を選択 ► 完了

ステップ 4: コントロール オブジェクトを配置する

  • データ ソース: 「テーブル A」を取得し、「Form1」オブジェクトに配置します。

ステップ 5: DataSet プロパティを変更する

  • ソリューション エクスプローラー: [SampleAccessDatabase.mdb] を選択します。
  • プロパティ: [出力ディレクトリにコピー] を選択 ► [新しい場合はコピー]に変更

手順 6: TableAdapter 更新コマンドを変更する

  • ソリューション エクスプローラー: "SampleAccessDatabaseDataset.xsd" をダブルクリックします。
  • ペイン: 中央のペインで「Table ATableAdapter」オブジェクトを選択します
  • プロパティ: ドロップダウン メニューをクリックして [新規] を選択し、[更新コマンド] を展開します。
  • コマンドの更新: 省略記号をクリックして [CommandText] を開きます [...]
  • テーブルの追加: 「テーブル A」を選択し、[追加] をクリックします。
  • クエリ ビルダ: SETという単語の後に「Field2=?」と入力します。. Enterキーを押します
  • クエリ ビルダ: 「WHERE」という単語の後に「(Field1=?」と入力します。[OK] をクリックします。

ステップ 7: テストする

  • CTRL+F5: 「Field2」を「1」、「2」、...「7」に変更 ► フォーム/アプリケーションを閉じる
  • CTRL+F5: 更新された DataGrid を表示

それだ。これで、Visual Studio 2012 で .NET デスクトップ アプリケーションを作成し、MS Access データベース (2013) からデータを保存および更新できるようになりました。

于 2013-08-09T04:29:53.100 に答える
0

これは問題を修正します:

ステップ 5: DataSet プロパティを変更する

ソリューション エクスプローラー: 「SampleAccessDatabase.mdb」を選択 プロパティ: [出力ディレクトリにコピー] を選択 ► [新しい場合はコピー] に変更

私の問題は、アプリが常に新しいデータベースをアプリのデバッグフォルダーにコピーすることです...

于 2018-02-21T14:59:21.973 に答える