Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 显示MS Access数据库中的图片_Vb.net_Ms Access_Picturebox - Fatal编程技术网

Vb.net 显示MS Access数据库中的图片

Vb.net 显示MS Access数据库中的图片,vb.net,ms-access,picturebox,Vb.net,Ms Access,Picturebox,你好!我目前正在用VB.Net和Access数据库建立一个学生管理信息系统。除此之外,所有的东西都运转良好: 显示当前登录用户的图片列中的图像 根据当前登录的用户,所有文本字段都显示在我的数据库中分配的所有值。以下是显示用户信息的代码: Dim cn As New OleDbConnection("Provider=Microsoft.Ace.Oledb.12.0; Data Source=" & My.Application.Info.DirectoryPath.ToString()

你好!我目前正在用VB.Net和Access数据库建立一个学生管理信息系统。除此之外,所有的东西都运转良好:

显示当前登录用户的图片列中的图像

根据当前登录的用户,所有文本字段都显示在我的数据库中分配的所有值。以下是显示用户信息的代码:

Dim cn As New OleDbConnection("Provider=Microsoft.Ace.Oledb.12.0; Data Source=" & My.Application.Info.DirectoryPath.ToString() & "\Data\Db\Faculty.mdb;")
    Dim dr1 As OleDbDataReader
    Dim com As New OleDbCommand


    com.CommandText = "select [Username],[Fname],[Lname],[Mname],[NickName],[Birthday],[Adds],[City],[CounPC],[Gender],[Religion],[Citizenship],[Contact],[stats],[Fathername],[Mothername],[FMAddress],[CollCourse],[VocCourse],[ElemEd],[ElemGrad],[HighEd],[HighGrad],[CollegeEd],[CollegeGrad],[VocationalCourse],[Skills],[Company],[Company1],[Position],[Position1],[YrStart],[YrStart1] from Personal where Username = '" & mainForm.TSUname.Text & "'"
    com.Connection = cn
    If cn.State = ConnectionState.Closed Then cn.Open()

    ' Username
    Dim Username As OleDbParameter = New OleDbParameter("@Username", OleDbType.VarWChar, 50)
    Username.Value = mainForm.TSUname.Text.ToString
    com.Parameters.Add(Username)

    dr1 = com.ExecuteReader
    If dr1.Read Then
        If dr1(1) = My.Settings.CurrentUserName.ToString Then
            ' Personal Information
            tbFname.Text = dr1(1)
            tbLname.Text = dr1(2)
            tbMname.Text = dr1(3)
            lblNickname.Text = dr1(4) & "!"
            tbBday.Text = dr1(5)
            tbAdd.Text = dr1(6)
            tbCity.Text = dr1(7)
            tbCountry.Text = dr1(8)
            tbGender.Text = dr1(9)
            tbReligion.Text = dr1(10)
            tbCitizenship.Text = dr1(11)
            tbContact.Text = dr1(12)
            tbStatus.Text = dr1(13)
            ' Parents
            tbFather.Text = dr1(14)
            tbMother.Text = dr1(15)
            tbAddress.Text = dr1(16)
            'Educational Background
            tbCollCourse.Text = dr1(17)
            tbVocCourse.Text = dr1(18)
            tbElemEd.Text = dr1(19)
            tbElemGrad.Text = dr1(20)
            tbHSEd.Text = dr1(21)
            tbHSGrad.Text = dr1(22)
            tbCollED.Text = dr1(23)
            tbColGrad.Text = dr1(24)
            tbVocational.Text = dr1(25)
            tbSkill.Text = dr1(26)
            ' Employment Background
            tbCompany.Text = dr1(27)
            tbCompany1.Text = dr1(28)
            tbPosition.Text = dr1(29)
            tbPosition1.Text = dr1(30)
            tbStart.Text = dr1(31)
            tbStart1.Text = dr1(32)
        Else
            MessageBox.Show("Incorrect Input", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If
    Else
        MessageBox.Show("UserID is Wrong", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End If

我想把用户的图片也放在我的
图片盒中
。但是怎么做呢?任何帮助都将不胜感激。谢谢

我跟随大多数人,只是将图像上传到一个特定的目录,然后将其路径存储在我的数据库中。然后,每当我想要检索图像时,我都会获取路径,并将其分配给picturebox的imagePath属性。

在保存时,您需要将图像转换为字节数组,然后在读取记录时将其转换回。对于C#(基本上是image->memstream->byte())来说,就是这样。您还需要实现SQL参数以避免SQL注入攻击。谢谢您的回答。无论如何,我必须复制他/她的代码并将其转换为vb吗?我将使用JPG作为基础,而不是BMP-这将导致较小的输出。否则,您可以使用链接代码的最后4行来查看步骤(反向执行以保存到DB)。这里是一个VB版本:哦,谢谢。我要试试看它是否管用。感谢将图像本身保存在.mdb或.accdb中通常不是一个好主意。文件很容易膨胀,即使您非常小心,也可能会遇到Access的2GB max db大小限制。更常见的方法是将图像保存到磁盘,并在Access数据库文件中仅存储路径(或足够的信息以重新创建路径)。感谢所有帮助过的人!