大家帮帮忙啊,从数据库中读取图片的问题!

tjuzhoukang 2010-11-05 06:04:58
Imports System.Data.SqlClient
Imports System
Imports System.IO
Imports System.Text

Public Class Form1
Dim mystr As String = "data source=WWW-7EDE22A8BFA;initial catalog=school;persist security info=true;user id=sa;password=11"
Dim myconn As New SqlConnection(mystr)
Dim i As Integer


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
myconn.Open()
Dim mysql As String = "select * from picture where 编号='1'"
Dim myda As SqlDataAdapter = New SqlDataAdapter
Dim mycmd As SqlCommand = New SqlCommand(mysql, myconn)
myda.SelectCommand = mycmd

Dim myds As New DataSet

myda.Fill(myds, "picture")
myconn.Close()

Dim data() As Byte = myds.Tables("picture").Rows(0).Item(1)
Dim stmphoto As New MemoryStream(data)

PictureBox1.Image = Image.FromStream(stmphoto)

End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
i = 1
myconn.Open()
Dim mysql As String = "select * from picture where 编号='1'"
Dim myda As SqlDataAdapter = New SqlDataAdapter
Dim mycmd As SqlCommand = New SqlCommand(mysql, myconn)
myda.SelectCommand = mycmd

Dim myds As New DataSet


myda.Fill(myds, "picture")
myconn.Close()




Dim data() As Byte = myds.Tables("picture").Rows(0).Item(1)
Dim stmphoto As New MemoryStream(data)

PictureBox1.Image = Image.FromStream(stmphoto)


End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
i += 1
myconn.Open()
Dim mysql As String = "select * from picture where 编号='1'"
Dim myda As SqlDataAdapter = New SqlDataAdapter
Dim mycmd As SqlCommand = New SqlCommand(mysql, myconn)
myda.SelectCommand = mycmd
Dim myds As New DataSet
myda.Fill(myds, "picture")
myconn.Close()

Try

Dim data() As Byte = myds.Tables("picture").Rows(0).Item(i)



Dim stmphoto As New MemoryStream(data)

PictureBox1.Image = Image.FromStream(stmphoto)

Catch ex As Exception
MsgBox("最后一张", MsgBoxStyle.OkOnly, "信息提示")

i -= 1
End Try


End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
i -= 1
myconn.Open()
Dim mysql As String = "select * from picture where 编号='1'"
Dim myda As SqlDataAdapter = New SqlDataAdapter
Dim mycmd As SqlCommand = New SqlCommand(mysql, myconn)
myda.SelectCommand = mycmd
Dim myds As New DataSet
myda.Fill(myds, "picture")
myconn.Close()

Try

Dim data() As Byte = myds.Tables("picture").Rows(0).Item(i)



Dim stmphoto As New MemoryStream(data)

PictureBox1.Image = Image.FromStream(stmphoto)

Catch ex As Exception
MsgBox("最前一张", MsgBoxStyle.OkOnly, "信息提示")
i += 1


End Try
End Sub
End Class


这是我编写的一段从数据库往VB界面读取图片的程序,但是有个问题!

我的SQL Server数据库里面建了一个表picture,表里存的是二进制数据图片,picture表有N行,每一行有10列,就是每一行最多存10张图片。

但是往picture表里存图片的时候,我可能只存5张、6张或7张,但是还必须保证有10列,要保证表的容量。

这样当我执行程序时,如果读到某一行某一列的内容为NULL时,就会报错!

我就想知道,要如何在VB.NET程序里面判断数据表picture中某一行某一列的内容为空啊!找了好长时间,也没有解决的办法。

帮小弟出点注意吧,要怎么才能解决关于数据表中内容为空的问题啊!
...全文
28 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2010-11-05
  • 打赏
  • 举报
回复
Convert.IsDBNull 判断DB的空数据。

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧