Vb.net向sql server数据库中保存图片(二)

原创 2004年03月21日 20:36:00

Vb.netsql server数据库中保存图片

      袁志

 

4、   声明类级的变量。找到设计期产生的代码部分,把下面的语句加到变量声明后面。什么?不知道变量声明在哪儿?不会吧!<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Private fs As FileStream

    Private ds As DataSet

    Private conn As New SqlConnection("server=localhost;database=northwind;integrated security=true;")

Private currentpos As Integer = 9

 

5、   开始写代码了。首先是form_load

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

 

        btnOpen.Enabled = True

        btnSave.Enabled = True

        btnBack.Enabled = False

        btnForward.Enabled = False

    End Sub

6、   open按钮的点击事件代码:

  Private Sub openbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click

        Dim Opendlg As New OpenFileDialog

        Opendlg.Title = "Select a picture file"

        Opendlg.Filter = "(*.bmp)|*bmp|(*.jpg)|*.jpg"

        Opendlg.ShowDialog()

        lblPath.Text = Opendlg.FileName.ToString()

        fs = New FileStream(Opendlg.FileName.ToString(), FileMode.Open, FileAccess.Read)

        PictureBox1.Image = Image.FromFile(Opendlg.FileName.ToString())

    End Sub

7、   save按钮的点击事件代码

Private Sub savebtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click

        Dim sqlcomm As New SqlCommand

        sqlcomm.CommandText = "INSERT INTO employees (lastname,firstname,photo) VALUES (@lastname,@firstname,@photo)"

        sqlcomm.Connection = conn

        Dim Data(fs.Length) As Byte

        fs.Read(Data, 0, Int(fs.Length))

        Dim prm1 As New SqlParameter("@lastname", txtLN.Text)

        Dim prm2 As New SqlParameter("@firstname", txtFN.Text)

        Dim prm3 As New SqlParameter("@photo", SqlDbType.VarBinary, Int(fs.Length), ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Current, Data)

        sqlcomm.Parameters.Add(prm1)

        sqlcomm.Parameters.Add(prm2)

        sqlcomm.Parameters.Add(prm3)

        Try

            conn.Open()

            sqlcomm.ExecuteNonQuery() '执行插入语句

            conn.Close()

            fs.Close()

        Catch ex As Exception

            MsgBox(ex.Message)

        End Try

    End Sub

8、   选择view状态的事件代码

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged

        If CheckBox1.Checked = True Then

            btnOpen.Enabled = False

            btnSave.Enabled = False

            btnBack.Enabled = True

            btnForward.Enabled = True

            currentpos = 9

            Dim sqlcomm As New SqlCommand

            sqlcomm.CommandText = "SELECT employeeId, photo FROM employees ORDER BY employeeId"

            sqlcomm.Connection = conn

            Dim da As New SqlDataAdapter(sqlcomm)

            Try

                conn.Open()

                ds = New DataSet

                da.Fill(ds, "employees")

                conn.Close()

            Catch sqlEx As SqlException

                MsgBox(sqlEx.Message)

            End Try

 

            Dim data() As Byte = ds.Tables("employees").Rows(9)("photo")

            Dim stmphoto As New MemoryStream(data)

            PictureBox1.Image = Image.FromStream(stmphoto)

        Else

            btnOpen.Enabled = True

            btnSave.Enabled = True

            btnBack.Enabled = False

            btnForward.Enabled = False

        End If

End Sub

9、   >>”按钮点击事件代码

 

Private Sub forward_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnForward.Click

        If currentpos = ds.Tables("employees").Rows.Count - 1 Then

            Return

        Else

            currentpos += 1

            Dim data() As Byte

            data = ds.Tables("employees").Rows(currentpos)("photo")

            Dim stmphoto As New MemoryStream(data)

            PictureBox1.Image = Image.FromStream(stmphoto)

        End If

    End Sub

10、                      <<”按钮点击事件代码

Private Sub back_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBack.Click

        If currentpos = 9 Then

            Return

        Else

            currentpos -= 1

        End If

 

        Dim Data() As Byte

        Data = ds.Tables("employees").Rows(currentpos)("photo")

        Dim stmPhoto As New MemoryStream(Data)

        PictureBox1.Image = Image.FromStream(stmPhoto)

    End Sub

11、                      好了,可以运行看看了。

 

 

VC在Sql Server数据库中如何存取二进制图片信息

转载地址:VC在Sql Server数据库中如何存取二进制图片信息  http://blog.hehehehehe.cn/a/1396.htm 在VC6.0中我们通常用Ado的Field 对象的Ge...
  • lijun5635
  • lijun5635
  • 2016年06月23日 09:13
  • 1087

c#向SQL Server中存储图片并且再从数据库中读取图片

前言数据库课程设计答辩时,老师提出了如果数据是图片或者其他文件类型的时候,顿时觉得自己做的管理系统用到的较多的就是Char类型。于是,答辩结束后,就搜集资料学习,在查找资料的时候发现,有的一开始并不能...
  • sinat_27714067
  • sinat_27714067
  • 2016年07月01日 17:08
  • 4627

VB.NET & DataGridView与数据库的连接

在敲机房的时候,例如:学生查看上机记录、学生充值记录查询、收取金额查询等等,都是有一个控件:DataGridView,当然我们可以用七层实现,但是代码量比较多,那么可以直接使用该控件来绑定数据库并显示...
  • kwy15732621629
  • kwy15732621629
  • 2016年03月20日 18:20
  • 1635

VB.NET连接SQL server数据库解决方案(转载+亲自实践)

原文来自:http://hi.baidu.com/mwd_3330410/blog/item/ba0ccd240a0902184c088d83.html    Microsoft Visual B...
  • bigheadsheep
  • bigheadsheep
  • 2012年07月04日 10:57
  • 2116

在ASP.NET中将图片存储到Sql Server数据库中

1:创建aspx页面。        在这一步,我们需要一个FileUpload控件,同时最重要的是需要将Form的enctype属性设置为multipart/form-data。该FileUp...
  • letIgo
  • letIgo
  • 2011年09月21日 19:47
  • 457

ASP.NET如何存取SQL Server数据库图片(转)

SQL Server提供了一个特别的数据类型:image,它是一个包含binary数据的类型。下边这个例子就向你展示了如何将文本或照片放入到数据库中的办法。在这篇文章中我们要看到如何在SQL Serv...
  • jiang0609
  • jiang0609
  • 2011年05月03日 10:58
  • 402

存储过程进阶(vb.net+SQL Server2008环境)

写过一篇存储过程入门的博客,那仅仅是入门,下面和大家一起深入学习存储过程(也许以后还会有更深入^_^) 以经典的注册为例子,篇幅有限只写了核心部分,其他略过。   无参数无返...
  • beijiguangyong
  • beijiguangyong
  • 2011年04月05日 00:02
  • 4478

SQL server和C#,VB.net中Round方法的差异

在C#中使用Math.Round(1.25, 1),期望得到1.3,结果却是1.2。 1.因为Math.Round方法并不是遵循四舍五入的原则,而是采用“四舍六入五成双”这种方式,若需要舍入到的位...
  • feng19821209
  • feng19821209
  • 2011年09月20日 14:42
  • 2607

VB.NET操作SQL Server完全模块

  • 2011年12月22日 22:54
  • 23KB
  • 下载

VB.net连接sql server2008

  • 2013年12月04日 09:26
  • 3.75MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Vb.net向sql server数据库中保存图片(二)
举报原因:
原因补充:

(最多只允许输入30个字)