2016-02-17 3 views
0

Я использую небольшую простую функцию для чтения из базы данных и отображения данных в datagridview.Ошибки Vb.net с строкой подключения OleDb

Function ReadFromDataBase(query As String, Table As String, pName As String) 

    Try 
     Conn = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & pName & ";Persist Security Info=False;") 

     Try 
      Call Conn.Open() 
     Catch ex As Exception 
      MsgBox("Could not connect") 
     End Try 

     If Conn.State = ConnectionState.Open Then 
      Dim SQL As New OleDb.OleDbCommand(query, Conn) 
      Dim DataAdapter As New OleDb.OleDbDataAdapter(SQL) 
      Dim DataTable As New DataTable(Table) 
      DataAdapter.Fill(DataTable) 
      Return DataTable 
     End If 

    Catch ex As Exception 
     Return ex.ToString 
    End Try 

End Function 

Этот код был полностью работоспособен до тех пор, пока я не привез его домой, я изменил источник данных (pName) до того, как вызвал функцию. Я называю функцию здесь:

Private Sub IpLoad() Handles MyBase.Load 
    Dim query, table, pName As String 
    query = "SELECT * FROM CONFIG_MonitoredServers WHERE sName = 'C-1' OR sName = 'C-2' OR sName = 'C-3'" 
    table = "CONFIG_MonitoredServers" 
    pName = "F:\!Computing\!Versions\service.accdb" 
    DataGridView2.DataSource = (Helpers.ReadFromDataBase(query, table, pName)) 
    query = "SELECT * FROM CONFIG_MonitoredServers WHERE sName <>'C-1' AND sName <> 'C-2' AND sName <> 'C-3'" 
    DataGridView1.DataSource = (Helpers.ReadFromDataBase(query, table, query)) 
    LockDownDataGridView() 
End Sub 

Я понятия не имею, что я сделал неправильно, так что любая помощь, которая может быть обеспечена была бы чрезвычайно полезной. Я не получаю никаких фактических ошибок, просто сообщение об ошибке не может подключиться, когда я удаляю try catch и окно сообщения, я просто ничего не получаю, форма загружается с пустым видом сетки данных.

+0

Какие ошибки вы получаете? –

+0

Не зная, что такое ошибка, это всего лишь игра с угадыванием. Вы уверены, что у вас есть ACCDB по этому пути? Что-то связано с отсутствующим OleDbProvider? Пожалуйста, добавьте детали на свой вопрос, используя EDIT linkbutton – Steve

+0

Спасибо, что ответили так быстро Я обновил сообщение, чтобы показать, что вы попросили. Я уверен, что путь правильный и правильно введен, так как я просто щелкнул щелчком и использовал путь копирования из проводника файлов, а затем вставил его. Я также заменил pName в функции на путь, чтобы убедиться, что ошибки не было там. – TheGuyWhoKnowsNothing

ответ

0

Наверное, звучит глупо, но открыто. Иногда появляется диалоговое окно установки «первого запуска», которое прерывает OleDB до его завершения.

Смежные вопросы