--- My program code to get information ---
Dim service As New VV.Service1
Dim image() As VV.Image
image = service.GetJob(1)
--- Error in my program ---
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at MySql.Data.MySqlClient.MySqlPacket.ReadString()
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.Open()
at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
at MySql.Data.MySqlClient.MySqlPool.GetConnection()
at MySql.Data.MySqlClient.MySqlConnection.Open()
at WebService2.Service1.GetJob(Int32 Computer) in C:\Users\Krister Johansson\Documents\Visual Studio 10\Projects\WebService2\WebService2\Service1.asmx.vb:line 172
--- End of inner exception stack trace ---
--- Webservice ---
Public Function GetJob(ByVal Computer As Integer) As List(Of Image)
Dim ListImage As New List(Of Image)()
Dim objRS As MySqlDataReader
Dim iId As Integer
Dim Selection As String
Dim sel As Image
LINE 172 ---> objConn.Open()
command.CommandText = "SELECT * FROM `tb_img` WHERE `upload` IS NOT NULL AND `computer` IS NULL AND `done` IS NULL LIMIT 1"
objRS = command.ExecuteReader
While objRS.Read
iId = objRS("id")
Selection = objRS("selection")
End While
If objRS.HasRows Then
objConn.Close()
Dim fs As FileStream = Nothing
fs = New FileStream("C:\FixImage\" & iId & ".jpg", FileMode.Open)
Dim fi As FileInfo = New FileInfo("C:\FixImage\" & iId & ".jpg")
Dim temp As Long = fi.Length
Dim lung As Integer = Convert.ToInt32(temp)
Dim picture As Byte() = New Byte(lung - 1) {}
fs.Read(picture, 0, lung)
fs.Close()
sel = New Image With {.Id = iId, .Image = picture, .Selections = Selection}
ListImage.Add(sel)
System.IO.File.Delete("C:\FixImage\" & iId & ".jpg")
If objConn.State = ConnectionState.Open Then
objConn.Close()
End If
objConn.Open()
command.CommandText = "UPDATE `voltatravolta`.`tb_img` SET `computer` = '" & Computer & "' WHERE `tb_img`.`id` =" & iId & " LIMIT 1"
command.ExecuteNonQuery()
objConn.Close()
Return ListImage
Else
Return Nothing
End If
Return Nothing
End Function
|