2014-01-18 3 views
0

У меня есть объект MySQL Я пытаюсь выбрать все данные и вставить в DataTable однако каждый раз, когда он попадет в моем первом, если заявление относительно сказал DataTable Он получает ошибку возможного значения нуляMySQL выберите оператор не заполнение DataTable

dbfile dbserver dbuser и dbpassw - это общедоступные переменные, установленные на модуле.

переменные размеры

Dim cnn As New MySqlConnection() 
Dim cmd As New MySqlCommand 
Dim adptr As New MySqlDataAdapter 
Dim filltab As DataTable 

код

 Dim cb As New MySqlConnectionStringBuilder 
    cb.Database = dbfile 
    cb.Server = dbserver 
    cb.UserID = dbuser 
    cb.Password = dbpassw 
    Using cnn As New MySqlConnection(cb.ConnectionString) 
     Using cmd As New MySqlCommand("SELECT * from gpstracking", cnn) 
      Try 
       cnn.Open() 
       adptr = New MySqlDataAdapter(cmd) 
       adptr.Fill(filltab) 
      Catch ex As Exception 
       MsgBox(ex.ToString) 
      End Try 
      If filltab.Rows.Count > 0 Then 'this is the row that the error for filltab being a null value hits 
       pop = 0 

       For pop As Integer = 0 To filltab.Rows.Count - 1 
      '   WebBrowser1.Document.InvokeScript("AddMarker", New Object() {"Unit: " & filltab.Rows(pop)("unitnumb") & " at " & filltab.Rows(pop)("time"), filltab.Rows(pop)("lat"), table.Rows(pop)("long")}) 
       Next 
      End If 
     End Using 
    End Using 

одна ошибка

adptr.Fill(filltab) 'Exception:Thrown: "Value cannot be null." (System.ArgumentNullException) 

я только что заметил, что объявляет "неспособность собрать детали" на

  Catch ex As Exception 
       MsgBox(ex.ToString) 
      End Try 
+0

Я не знаю синтаксис VB, но у вас есть 'Dim filltab Как DataTable' без нового варианта (как и в других измерениях), и я думаю, что MySqlDataAdapter требует, чтобы аргумент не был нулевым. Просто догадка. –

+0

сделайте это ответом Я приму это - вот в чем проблема –

ответ

2

Я не знаю синтаксис VB, но у вас есть Dim filltab As DataTable без Новый (как и в других измерениях), и я думаю, MySqlDataAdapter.Fill требует аргумент, чтобы быть не нулевым. Просто догадка.

0

вместо того, чтобы использовать этот код

adptr = New MySqlDataAdapter(cmd) 
adptr.Fill(filltab) 

использование попытка

filltab.load(cmd.ExecuteReader()) 
Смежные вопросы