所以这是我正在使用的代码:
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:\users\econnelly\My Documents\Access Databases\Fit 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()
我试图将这些已定义的变量传递给Access数据库,但到目前为止还没有成功。
每当我尝试运行程序时,都会收到以下错误:
System.Data.dll中出现未处理的“System.Data.OleDb.OleDbException”类型异常
此错误是从cmd.ExecuteNonQuery()函数触发的,但我不确定原因。
到目前为止,我一直无法将信息填充到数据库中。有人能指出我如何解决这个问题的正确方向吗?
答案 0 :(得分:1)
我认为问题在于表名“Fit Track”,其中有一个空格。
您可以使用方括号,例如[Fit Track] 或者你可以使用像'Fit Track'这样的单引号
答案 1 :(得分:0)
我不知道答案,但是在数据库表或列名中使用空格或特殊字符(如斜杠)时遇到了麻烦。另外,我认为您的连接字符串不正确。您可能还想阅读一些关于SQL注入的内容,它可能很危险。
编辑:您可能还需要导入System.Data.Oledb