【发布时间】:2015-05-04 16:37:29
【问题描述】:
我正在尝试使用来自访问的数据填充数据网格,但每次运行此程序时,我都会收到一条错误消息,提示 ConnectionString property has not been initialized 我已经尝试了我所知道的一切。有人可以帮忙吗
Private Sub RefreshData()
cnn = New OleDb.OleDbConnection
cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\My_db.accdb"
If Not cnn.State = ConnectionState.Open Then
' open connection '
cnn.Open()
End If
Dim da As New OleDb.OleDbDataAdapter()
Dim dt As New DataTable
'fill datatable'
da.Fill(dt)
Me.DataGridView1.DataSource = dt
' close connection'
cnn.Close()
End Sub
Private Sub BindGrid()
If Not cnn.State = ConnectionState.Open Then
' open connection '
cnn.Open()
End If
Dim cmd As New OleDb.OleDbCommand
cmd.Connection = cnn
cmd.CommandText = "SELECT * FROM Training log WHERE Runner Name='" & Profile.UsernameTextBox.Text & "'"
cmd.ExecuteNonQuery()
Me.RefreshData()
cnn.Close()
End Sub
【问题讨论】:
-
您可以尝试将
cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\My_db.accdb"添加到函数BindGrid()吗? -
这里的sql注入漏洞让我很伤心:(
标签: vb.net runtime-error connection-string