如何将我的信息从我的VB应用程序传递到访问数据库表



,所以这是我正在使用的代码:

Public Class Form1
    Dim dtmSystemDate As Date
    Dim strResult As String
    Dim Student As Double = Nothing
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBeginWorkout.Click
        Dim cnn As New OleDb.OleDbConnection
        Dim cmd As New OleDb.OleDbCommand
        Dim Start As String = "Start"
        ' Set date/time to today's date/time.
        dtmSystemDate = Now()

        ' Convert txtIDNumber to a Double.
        Try
            Student = CDbl(txtIDNumber.Text)
        Catch ex As Exception
        End Try
        ' Determine if input is a valid ID number.
        If Student >= 10000 And Student <= 99999 Then
            MessageBox.Show("Your start time is " & dtmSystemDate.ToString("F"), "Welcome, Student # " & Student.ToString())
        Else
            MessageBox.Show("Please enter a valid College ID number", "Invalid Entry", MessageBoxButtons.OK, MessageBoxIcon.Exclamation
                            )
        End If
        cnn.ConnectionString = "provider = microsoft.jet.oledb.4.0; data source = C:userseconnellyMy DocumentsAccess DatabasesFit Track.mdb"
        cnn.Open()
        cmd.Connection = cnn
        cmd.CommandText = "insert into Fit Track (Student_ID,Start/Stop,Date/Time) values ('" & Student & "','" & Start & "', '" & dtmSystemDate & "')"
        cmd.ExecuteNonQuery()
        cnn.Close()

我试图将这些定义的变量传递到访问数据库,到目前为止都没有成功。

每当我尝试运行程序时,都会收到以下错误:

在system.data.dll.dll

中出现了一个未经处理的例外。

此错误是从cmd.executenonquery()函数触发的,尽管我不确定为什么。

到目前为止,我根本无法获取信息填充数据库。谁能指向我如何解决这个问题的正确方向?

我相信问题在其中有一个空间的表" fit track"。

您可以使用[FIT TRACK]之类的方括号或者,您可以使用" fit Track"之类的单引号

我不知道答案,但是当使用空格或特殊字符(例如斜杠,数据库表或列名称)时,我遇到了麻烦。另外,我认为您的连接字符串不正确。您可能还想阅读一些有关SQL注入的信息,这可能很危险。

编辑:您可能还需要导入system.data.oledb

最新更新