Vb.net 2差分blob格式

Vb.net 2差分blob格式,vb.net,format,blob,Vb.net,Format,Blob,请查找下面的代码,该代码读取2 diff blob格式的列 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If (OleDbConnection1.State And ConnectionState.Open) <> 0 Then OleDbConnection1.Close() En

请查找下面的代码,该代码读取2 diff blob格式的列

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If (OleDbConnection1.State And ConnectionState.Open) <> 0 Then
        OleDbConnection1.Close()
    End If

    OleDbConnection1.ConnectionString = "Provider=IBMDADB2.DB2COPY1;Data Source=PORTLOB;Persist Security Info=True;Password=123456;User ID=Administrator;oledbreportislongforlongtypes=1;lobmaxcolumnsize=20480;longdatacompat=1;allowgetdatalobreaccess=1;"
    'MaximumInlineLobSize=32; HexParserOption=Binary;
    OleDbDataAdapter1.SelectCommand = OleDbSelectCommand1
    OleDbSelectCommand1.CommandText = "SELECT P_IMAGE FROM PORTLOB WHERE ID=(" & Text1.Text & ") "
    OleDbSelectCommand1.Connection = OleDbConnection1

    DataSet11.PORT_IMAGE.Clear()

    OleDbConnection1.Open()

    Try
        OleDbDataAdapter1.Fill(DataSet11, "PORT_IMAGE")
        Dim c As Integer = DataSet11.Tables("PORT_IMAGE").Rows.Count
        If c > 0 Then
            Dim bytBLOBImage() As Byte = DataSet11.Tables("PORT_IMAGE").Rows(c - 1)("P_IMAGE")
            Dim ms As MemoryStream = New MemoryStream(bytBLOBImage)
            PictureBox1.Image = Image.FromStream(ms)
        Else
            MessageBox.Show("NO PHOTOS")
        End If
    Catch Ex As OleDb.OleDbException
        MessageBox.Show(Ex.Message)
    End Try

    OleDbConnection1.Close()

End Sub
Private子按钮1\u单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理按钮1。单击
如果(OleDbConnection1.State和ConnectionState.Open)为0,则
OleDbConnection1.Close()
如果结束
OleDbConnection1.ConnectionString=“Provider=IBMDADB2.DB2COPY1;数据源=PORTLOB;持久安全信息=True;密码=123456;用户ID=Administrator;oledbreportislongforlongtypes=1;lobmaxcolumnsize=20480;longdatacompat=1;allowgetdatalobreaccess=1;”
'MaximumInlineLobSize=32;HexParserOption=二进制;
OleDbDataAdapter1.SelectCommand=OleDbSelectCommand1
OleDbSelectCommand1.CommandText=“从PORTLOB中选择P_映像,其中ID=(“&Text1.Text&”)
OleDbSelectCommand1.Connection=OleDbConnection1
DataSet11.PORT_IMAGE.Clear()
OleDbConnection1.Open()
尝试
OleDbDataAdapter1.Fill(数据集11,“端口图像”)
Dim c As Integer=DataSet11.Tables(“PORT_IMAGE”).Rows.Count
如果c>0,则
Dim bytBLOBImage()作为Byte=DataSet11.Tables(“端口映像”).Rows(c-1)(“端口映像”)
Dim ms As MemoryStream=新的MemoryStream(BYTBLOBLIMAGE)
PictureBox1.Image=Image.FromStream(毫秒)
其他的
MessageBox.Show(“无照片”)
如果结束
捕获Ex作为OleDb.OLEDBEException
MessageBox.Show(例如Message)
结束尝试
OleDbConnection1.Close()
端接头
我在同一列中有2个blob格式,如下所示: 1-彩色图片以0000宽=480高=640开始 2-黑白(黑白)图片以FF黑白宽度=153高度=208开始

我使用的是DB2Ver10.5和VS2010,当我试图阅读它们时,会出现以下错误

System.ArgumentException:参数无效。 那么,如何解决参数错误,以便能够读取这两种格式


感谢您的合作。

为什么您似乎有一个已键入的
数据集
,但您使用的是数据适配器而不是表适配器,然后将
数据集
视为未键入?你应该下定决心使用其中一个。至于这个问题,数据库中存储的数据最初是如何生成的?旁注:
选项严格限制