Public picpart As String = "" '----ตัวแปรเก็บที่อยู่รูปภาพ
'ส่วนของการ Brows รูปภาพ
With Openfile
.Title = "....."
.Filter = "JPG|*.jpg"
.FileName = ""
.Multiselect = False
.FilterIndex = 2
If .ShowDialog = Windows.Forms.DialogResult.OK Then
picpart = .FileName
PictureBox1.Image = Image.FromFile(picpart)
End If
End With
Dim pic() As Byte = {} '----ตัวแปรเก็บรูปภาพ เป็น ไบนารี
Dim sqladd As String '----ตัวแปรรับคำสั่ง sql
'---คำสั่งในการเชื่อมฐานข้อมูล
Dim conn As New SqlConnection
Dim StrCon As String = "server=84F44;uid=sa;pwd=bestjoker;database=project"
With conn
If .State = ConnectionState.Open Then .Close()
.ConnectionString = StrCon
.Open()
End With
If picpart <> Nothing Then
Dim fs As New FileStream(picpart, FileMode.Open, FileAccess.Read)
Dim br As New BinaryReader(fs)
pic = br.ReadBytes(CInt(fs.Length))
sqladd = "INSERT INTO test"
sqladd &= "VALUES ('@pic')"
End If
Dim cmdadd As SqlCommand
With cmdadd
.CommandText = sqladd '--------จุดที่ Error
.CommandType = CommandType.Text
.Connection = conn
.Parameters.Clear()
.Parameters.AddWithValue("pic", pic)
.ExecuteNonQuery()
picpart = Nothing
End With
ใครพอจะแก้ Error นี้ได้บ้างครับช่วยดูให้ทีนะครับ
ขอบคุณครับ
Tag : .NET, Ms SQL Server 2005, Win (Windows App), VS 2008 (.NET 3.x)
Object reference not set to an instance of an object คือไม่ได้ประกาศตัวแปร หรือตัวแปรนั่นยังไม่ได้เป็น instance ของ class/object ที่คุณเรียกใช้งานครับ อย่างของคุณ sqlcommand ยังไม่ได้ New ครับ
Dim sqlimg As String = "select * from test"
Dim dt As DataTable
Dim dr As SqlDataReader
Dim bs As New BindingSource
Dim conn As New SqlConnection
With conn
If .State = ConnectionState.Open Then .Close()
.ConnectionString = StrCon
.Open()
End With
cmd = New SqlCommand(sqlimg, conn)
dr = cmd.ExecuteReader
dt = New DataTable
dt.Load(dr)
bs.DataSource = dt
If dt.Rows(bs.Position).Item("pic").ToString <> "" Then
Dim ms As New MemoryStream(CType(dt.Rows(bs.Position).Item("pic"), Byte()))
PictureBox1.Image = Image.FromStream(ms, True) '--------จุดที่ Error
Else
PictureBox1.Image = PictureBox1.ErrorImage
End If