数据库中图片的存取

  
关键词:数据库 加密 图片 存取
 
设计思路:把图片保存在数据库中,再将数据库加密,这样图片就安全了,(如果图片内容需要保密时,就更要这样),使用时再将图片从数据库中读取出来。本例结合用户注册和登录窗口进行设计说明。
 
需解决问题:由于VB6 于98年发布的,其DATA控件仅支持Access97,要操作Access2000,
还必须添加ADODC控件,“工程”—“部件”—“Microsoft ADO Data Control 6.0 (OLEDB)”
 
数据库设计:用Access2000在程序的同目录下建一个数据库文件,shuju.mdb
建立一个表,表名为:yonghu
表内建三个字段:user 字符类型 ;pwd 字符类型; image OLE类型
设置数据库密码:123456
 
图片及记录的存入:(用户注册)
在VB中建一个窗体,在窗体内画出三个文本框(分别用于输入用户名,密码,照片路径),一个按钮,一个标签控件,一个ADODC控件。
 
Private Sub Command1_Click()
Adodc1.ctionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path &_
 "/shuju.mdb;Jet OLEDB:Database Password=123456"
Adodc1.RecordSource = " yonghu"
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields(0) = Text1.Text
Adodc1.Recordset.Fields(1) = Text2.Text
Dim fb() As Byte
Dim fname As String
fname = Text3,Text
ReDim fb(FileLen(fname))
Open fname For Binary As #1
Get #1, , fb
Close #1
Adodc1.Recordset.Fields(2) = fb
Adodc1.Recordset.Update
Label1.Caption = "成功上传数据库"
End Sub
 
 
图片的读取(用户登录):
从数据库中读取图片并在图片框中显示,通常的是读取数据库数据,然后在磁盘中写一个临时文件,然后再导入到图片框中。如果是大量地,快速地浏览记录,必然造成频繁的文件读写,这是不可取的。其实只要设置好图片框PictureBox的属性,它可以直接响应数据源的变化。
 
在VB中建一个窗体,在窗体内画出两个文本框,一个按钮,一个图片框,一个标签控件,一个ADODC控件。
 
设置好图片框PictureBox的属性:DataSource为Adodc1;DataField为image。(要用直接输入)。
 
写Command1的程序语句:
Private Sub Command1_Click()
If Text1.Text <> "" And Text2.Text <> "" Then ‘姓名和密码框是否有输入
Adodc1.ctionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path &_
 "/shuju.mdb;Jet OLEDB:Database Password=123456"
Adodc1.RecordSource = "select image from yonghu where user= '" & Text1.Text & "' and pwd= '" & Text2.Text & "'" ‘搜索数据库中是否有该姓名和密码的用户记录
Adodc1.Refresh    ‘Adodc连接
If Not Adodc1.Recordset.EOF Then ‘如果有记录,图片框中自动显示用户照片
Label1.Caption = "欢迎光临"
Command1.Enabled = False
Else
Label1.Caption = "信息错误"
End If
Else
Label1.Caption = "信息不全"
End If
End Sub
 
结束:
我上面所用的知识,很多都是从网上学到的,只不过是结合实践,加以整理,然后再回馈于网络。
                    2007 4 8
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tongyue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值