簡體   English   中英

使用VB.Net將數據插入Access數據庫

[英]Using VB.Net to Insert Data to an Access Database

有誰知道如何更新實際的訪問datbase文件? 到目前為止,這是我的代碼,我認為一切都正確,但是單擊按鈕將信息發送到實際的數據庫文件后,它不會出現在其中。 有人可以幫我弄這個嗎? 我正在談論的訪問文件是Visual Basic項目本身之外的一個文件,但仍處於連接狀態。

Imports System.Data.OleDb

Public Class Form1

Dim provider As String
Dim datafile As String
Dim connString As String
Dim con As New OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0; Data Source=G:\Music Session Database\Music Database.accdb")
Dim ds As New DataSet

Dim dt As New DataTable

Dim da As New OleDbDataAdapter

Private Sub btnexit_Click(sender As Object, e As EventArgs) Handles btnexit.Click
    Me.Close()
End Sub



Private Sub btnsubmit_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles btnsubmit1.Click

    Me.Music_DatabaseTableAdapter.Insert(Me.songTitle.Text, Me.songArtist.Text, Me.songAlbum.Text, Me.yearReleased.Text)
    Me.Music_DatabaseTableAdapter.Fill(Me.Music_DatabaseDataSet.Music_Database)


    con.Open()
    MsgBox("Record Added")
    con.Close()
    songTitle.Text = ""
    songArtist.Text = ""
    songAlbum.Text = ""
    yearReleased.Text = ""


End Sub


Private Sub btnsumbit2_Click(sender As Object, e As EventArgs) Handles btnsumbit2.Click

    Me.Play_SessionTableAdapter.Insert(Me.songTitle.Text, Me.songArtist.Text, Me.songAlbum.Text, Me.yearReleased.Text, Me.datePlayed.Text, Me.timePlayed.Text, Me.genre.Text)
    Me.Play_SessionTableAdapter.Fill(Me.Music_DatabaseDataSet.Play_Session)


    con.Open()
    MsgBox("Record Added")
    con.Close()
    songTitle.Text = ""
    songArtist.Text = ""
    songAlbum.Text = ""
    yearReleased.Text = ""
    datePlayed.Text = ""
    timePlayed.Text = ""
    genre.Text = ""



End Sub

Private Sub btnsubmit3_Click(sender As Object, e As EventArgs) Handles btnsubmit3.Click


    Me.Song_Artist_InformationTableAdapter.Insert(Me.songArtist.Text, Me.genre.Text, Me.origin.Text, Me.artistInformation.Text)
    Me.Song_Artist_InformationTableAdapter.Fill(Me.Music_DatabaseDataSet.Song_Artist_Information)

    con.Open()
    MsgBox("Record Added")
    con.Close()
    songArtist.Text = ""
    genre.Text = ""
    origin.Text = ""
    artistInformation.Text = ""


End Sub

Private Sub btnclear_Click(sender As Object, e As EventArgs) Handles btnclear.Click
    songTitle.Clear()
    songArtist.Clear()
    songAlbum.Clear()
    yearReleased.Clear()
    datePlayed.Clear()
    timePlayed.Clear()
    genre.Clear()
    artistInformation.Clear()
End Sub


Private Sub FillByToolStripButton_Click(sender As Object, e As EventArgs)
    Try

    Catch ex As System.Exception
        System.Windows.Forms.MessageBox.Show(ex.Message)
    End Try

End Sub

Private Sub Music_DatabaseBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles Music_DatabaseBindingNavigatorSaveItem.Click
    Me.Validate()
    Me.Music_DatabaseBindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.Music_DatabaseDataSet)

End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'Music_DatabaseDataSet.Song_Artist_Information' table. You can move, or remove it, as needed.
    Me.Song_Artist_InformationTableAdapter.Fill(Me.Music_DatabaseDataSet.Song_Artist_Information)
    'TODO: This line of code loads data into the 'Music_DatabaseDataSet.Play_Session' table. You can move, or remove it, as needed.
    Me.Play_SessionTableAdapter.Fill(Me.Music_DatabaseDataSet.Play_Session)
    'TODO: This line of code loads data into the 'Music_DatabaseDataSet.Music_Database' table. You can move, or remove it, as needed.
    Me.Music_DatabaseTableAdapter.Fill(Me.Music_DatabaseDataSet.Music_Database)







End Sub




Private Sub btnupdate1_Click(sender As Object, e As EventArgs) Handles btnupdate1.Click
    Me.Validate()
    con.Open()
    ds.Tables.Add(dt)
    da = New OleDbDataAdapter("Select * from [Music Database]", con)
    Dim cb = New OleDbCommandBuilder(da)
    cb.QuotePrefix = "["
    cb.QuoteSuffix = "]"
    da.Fill(dt)
    Music_DatabaseDataGridView.DataSource = dt.DefaultView
    da.Update(dt)
End Sub

Private Sub btnupdate2_Click(sender As Object, e As EventArgs) Handles btnupdate2.Click
    Me.Validate()
    con.Open()
    ds.Tables.Add(dt)
    da = New OleDbDataAdapter("Select * from [Play Session]", con)
    Dim cb = New OleDbCommandBuilder(da)
    cb.QuotePrefix = "["
    cb.QuoteSuffix = "]"
    da.Fill(dt)
    Play_SessionDataGridView.DataSource = dt.DefaultView

    da.Update(dt)


End Sub

Private Sub btnupdate3_Click(sender As Object, e As EventArgs) Handles btnupdate3.Click
    Me.Validate()
    con.Open()
    ds.Tables.Add(dt)
    da = New OleDbDataAdapter("Select * from [Song Artist Information]", con)
    Dim cb = New OleDbCommandBuilder(da)
    cb.QuotePrefix = "["
    cb.QuoteSuffix = "]"
    da.Fill(dt)
    Song_Artist_InformationDataGridView.DataSource = dt.DefaultView


    da.Update(dt)
End Sub

最終班

初始化字符串的格式不符合規范

您創建的connString無效。

provider = "Microsoft.ACE.OLEDB.12.0"
datafile = "H:\Music Session Database\Music Database.accdb"

connString = provider & datafile

Console.WriteLine(connString)

節目

Microsoft.ACE.OLEDB.12.0H:\Music Session Database\Music Database.accdb

你想要做的是

connString = String.Format("Provider={0};Data Source={1}", provider, datafile)

產生

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=H:\Music Session Database\Music Database.accdb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM