السلام عليكم ورحمة الله وبركاته
الكود التالي عمل لدي بنجاح.
يبدو أنك تقوم بحفظ صورة بحجم كبير مما يتسبب بانتهاء المهلة الزمنية على النت قبل اتمام العملية.
إستعلمت عن سجل به صورة مصباح أضفتها أنا وتمت بنجاح لأن حجم الصورة صغير.
أفرغ قاعدة البيانات وتعامل مع الصورة الصغيرة فقط
ملاحظة هامة: التعامل مع قاعدة البيانات على الجهازأو الشبكة الداخلية يختلف عن التعامل مع قاعدة بيانات على النت، فالوقت الممنوح لك لاتمام عملية ما يحكمك، ولكن عند التعامل مع قاعدة بيانات على النت ولكن بواسطة كود في الموقع نفسه فلا مشكلة.
PHP كود :
Imports System.Data.SqlClient
Public Class Form1
Private con As New SqlClient.SqlConnection(" Data Source = elsenbisi.mssql.somee.com; User ID = sbisy; Password = 0000000000; ")
#Region " ImageToByte "
Public Function ImageToByte(ByVal image As Image) As Object
Dim imgByte As Byte() = Nothing
Dim imgStream As New IO.MemoryStream()
On Error Resume Next
image.Save(imgStream, Imaging.ImageFormat.Png)
Return imgStream.ToArray()
End Function
#End Region
#Region " ByteToImage "
Public Function ByteToImage(ByVal rowItem As Object) As Image
On Error Resume Next
Return Image.FromStream(New IO.MemoryStream(DirectCast(CObj(rowItem), Byte())))
End Function
#End Region
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim sql As String = " INSERT INTO [Table4] ( [img] ) VALUES ( @img ) "
Dim com As New SqlClient.SqlCommand(sql, con)
com.Parameters.AddWithValue("@img", ImageToByte(Me.PictureBox1.Image))
con.Open()
com.ExecuteNonQuery()
con.Close()
MsgBox("تمت الإضافة بنجاح")
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.PictureBox1.Image = Nothing
Dim sql As String = " SELECT * " & _
" FROM [Table4] " & _
" WHERE [ID] = 4 "
Dim com As New SqlClient.SqlCommand(sql, con)
Dim dt As New DataTable
Dim da As New SqlClient.SqlDataAdapter(com)
If da.Fill(dt) > 0 Then
Me.PictureBox1.Image = ByteToImage(dt.Rows(0).Item("img"))
End If
End Sub
End Class
السلام عليكم ورحمة الله وبركاته
